w8d1 - Node Day but today...

    It’s hard to believe that we’re starting Week 8 already. Today was the last project before starting our Final Projects, and it was all about Node.js. Node is a way of using javascript on the back end to asynchronously interact with the client side. The benefit to using an asynchronous server is that it can handle input from clients without blocking input for other clients. It lends itself to doing “event driven programming”, which was evident today as we built a basic chatroom application.

    Event driven programming is a very different way to approach programming, and unlike most of the things that we’ve seen in the course so far. The day started off challenging, but once I got the hang of it, I got into a groove and enjoyed trying to work everything out. It’s basically a juggling act between the client side and the server side, and all of it revolves around triggering events on one side and listening for them on the other side. Every time you want to add in a new feature, you have to think about how you will trigger the event, and then how you will handle the event on the other side. Unfortunately, we won’t have time to explore Node.js any further, but I definitely found it interesting and will probably look into it some more in the future.

    Final Project underway…

w7d5 - Trello? Is it me you're looking for?

    Week 7 done and it’s just about time to get started on final projects! No more pairs, which will be strange. W’eve spent the last 7 weeks working with a partner the majority of the time, and it will be take some time to adjust to not having one. I definitely felt the pain while working on the Trello project, as there were numerous times where I did something silly that a partner would have easily caught, saving me precious minutes of figuring out where I missed a semicolon or curly brace, or where I put board.title instead of board.get(“title”).

    I didn’t make nearly as much progress on Friday as I had hoped, especially after I felt like I started out pretty strong on Thursday. But, I ended up spending a lot of the day undoing things that I did on Day 1 after realizing I hadn’t gone about it in quite the right way. I ended up spending some time on Saturday redoing the entire thing, which coincidentally was great practice for Monday’s assessment. I now feel like I have a pretty good grasp on Backbone, something that I couldn’t have said a few days earlier.

    The other part of the weekend was spent building a paper prototype of my final project, which I found strangely enjoyable. The only other things standing in our way are the assessment on Monday morning and the remainder of Monday which is dedicated to Node.js. Although I’m anxious to officially get underway, I am curious to learn a little more about Node

w7d4 - var Wars II: Attack of the Clones

    Today we started the process of cloning Trello, as we gear up for our final projects next week. It isn’t completely from scratch, as we were given a basic skeleton with user authentication and basic models already provided. We are mainly using this to polish up our Backbone skills, and get some experience using jbuilder as well. It felt good to be able to go at my own pace today, as there are certain things in Backbone that I feel I have a good grasp on, and other things that I feel like I need work on. I went slower in the areas where I needed some reinforcement and I think it’s really helped to solidify my understanding of Backbone.

    Today was mostly focused on fleshing out the basic functionality, and getting things to render on the right screens. Towards the end of the day I started added a little bit of style and it was already started to look a bit Trello-like. Tomorrow will be spent on finishing up the functionality and adding some more polish. The project has been designed with bootstrap in mind, so there will be some nifty things that I’ll be able to include that I otherwise wouldn’t have time to figure out. If I have time, there are a few features that I’d like to add in that weren’t explicitly mentioned in the assignment; maybe I should make a list of features on Trello…

w7d3 - Divs everywhere

    Today we took a step back from breaking our backs learning Backbone and strapped up our boots to learn Bootstrap! Witticism aside, it wasn’t as fun as I thought it would be, and it actually ended up being a pretty boring day, not because of bootstrap itself, it’s pretty amazing with all of the things that it allows you to do for “free”, but I think that’s part of what made it fairly uninteresting. We’ve gotten so used to building things from the ground up, having to painstakingly reset and then style each element on our pages, writing CSS line by line. At times it was tedious, but it was extremely rewarding to see what you were capable of doing by being consistent and programmatic. Bootstrap takes all of that away and allows you to pull off some pretty impressive styling by just adding a few classes to your elements. It looks amazing, but it sort of feels like cheating.

    And don’t get me started on the divs! It felt like we were adding <div> tags left and right, with a few <span> tags sprinkled here and there. We’ve been taught to try to keep our HTML semantic, in other words, the meaning of your page should be fairly clear just from looking at the HTML. If you have different sections, use <section> tags to wrap each one, if you have articles, use <article> tags, if you have a list of navigation links, put them in an unordered list (<ul>) and wrap them in a <nav> tag. Sometimes you don’t have an exact semantic match for what you need, so it’s fine to use <div>s and <span>s occasionally, but they shouldn’t make up the bulk of your code, which it was it felt like using bootstrap. I know this isn’t a strict rule, but I think it helps a ton when writing, reading, and ultimately understanding HTML, which is a crucial piece of web development. Don’t get me wrong, I can see how useful Bootstrap would be for being able to quickly spit out great looking pages, but I guess I just prefer to have a little more involvement in the design process. But enough about Bootstrap…

    It’s time to submit our proposals for final projects and I have been looking forward to this day very much. We will finally get to spend some time creating, writing, polishing and perfecting. We get to warm up by cloning Trello as a solo project over the next 2 days, a site I’m not really familiar with, but seems to be pretty cool, so I’m looking forward to that. Onward and upward!

w7d2 - Rssky Business

(Full credit for this post’s name goes to my partner for today, Jacob… Genius!)    

    Day 2 of Backbone went a lot smoother than Day 1. We were tasked with building an app to manage RSS feeds, which wasn’t too hard by itself. Of course the challenge was to get everything to happen by using Backbone to make asynchronous server requests and simply re-rendering the page instead of loading a new one. Going through the process again today helped me to understand the Backbone work flow a little more, and by the end of the day we had a pretty cool application built.

    This was mostly due to the fact that we finished the main functionality fairly early in the day and proceeded to spend some time working on the sites presentation using CSS. This has resulted in the best looking application I’ve produced so far, which gave us a nice sense of accomplishment. So many of our projects are focused on functionality, but it’s nice to get a little design in here and there, especially when the application already works like its supposed to.

    In related news, we are going to be starting our FINAL PROJECTS soon, which everyone is really excited for! We have the next couple of days to choose, though I’m sure most of us have been thinking about it since Day 1, when we saw the previous class present their projects. I have a few ideas for what I want to do, but I still have some time to fully decide. The moment we’ve been preparing for is almost here!