HTML5 Portfolio Project – Part 3

 May, 03 - 2012   no comments   Uncategorized

Don Your Project Manager Hat

A week with no updates?! … And things are about to get more busy, not less.

Plus, upon reviewing the project plan, I noticed an omission: there’s no specific line item for the mask transition. It seemed so obvious, I neglected to capture it in the schedule. I’m adding 3 hours to account for it (new total: 44 hrs).

Ok, To Work Then

Last time, I talked a bit about the data model. Since then, I’ve thought of some improvements. Just because the Flash version worked a certain way doesn’t mean I shouldn’t re-evaluate my assumptions.

First, the home screen ought to be treated as a node. It has a url and graphical content, just like the portfolio pieces. It’s button-ness behaves a little differently, and it’s sized larger, but we should be able to abstract away the differences. In theory, it would be nice to allow unlimited node nesting. This would allow projects to have sub-projects (for example) and enable a lot more organizational flexibility, extending the useful lifetime of the site. We’ll see if we can squeeze it in. (Google: YAGNI)

[
  {
    "url"         : "/",
    "title"       : "shovemedia portfolio 2012",
    "content"     : "homepage.html",
    "sections"     : [
          {
            "url"         : "contact",
            "client"      : "Email:<br />jon@shovemedia.com",
            "title"       : "contact info",
            "date"        : "01/01/2011",
            "role"        : "developer",
            "link"        : "mailto:jon@shovemedia.com?subject=New Business",
            "thumbnail"   : "thumbnails/email.jpg",
            "content"     : "contact.html"
          },
          {
            "url"         : "3D",
            "client"      : "Photobiz",
            "title"       : "3D Templates",
            "date"        : "01/01/2011",
            "role"        : "developer",
            "link"        : "http://photobiz.com",
            "thumbnail"   : "thumbnails/3d-templates.jpg",
            "sections"        : [
                    {
                      "url"     : "video",
                      "title"   : "watch!",
                      "icon"    : "video",
                      "content" : "papervision/videoPlayer.html"
                    },
                    {
                      "url"     : "image1",
                      "title"   : "Image 1",
                      "icon"    : "pic",
                      "content" : "papervision/image1.jpg"
                    },
                    {
                      "url"     : "description",
                      "icon"    : "description",
                      "content" : "papervision/description.html",
                    }
                  ]
          }
        ]
  }
]

Don’t get lost in the braces. Deeper nesting is a necessary evil, I think. Otherwise, I’m going to end up with redundant references to “link” all the flattened elements.

I’ve also changed some of my naming conventions. Each nodes stores its child nodes in an Array called “sections”.


Related articles


Leave a Reply

Your email address will not be published. Fields with * are mandatory.