HTML/CSS/JQUERY Calendar Assignment

For our first major assignment in the Web Design, Development and Maintenance program, my class and I were to create a calendar using our knowledge of HTML5 and CSS3 accordingly.

We were to create a calendar that was supposed to feature all of the days of a chosen month. In addition, we were required to put up notices when you would choose a certain day of the month if it was a holiday. Other points included the choice of colour and theme as well as properly labelled syntax and markup which made the code easy to read and identify.

As opposed to just creating a basic, mundane looking calendar I decided that I’d like to go with creating something similar to a menu screen from a game I have played in the past known as Dead Space .

The following image below is what I used as a point of reference.

dead-spaceconcept

From then on, I was set on re-creating something similar to this menu.

Little did I know, how much work I had just put on myself to complete this task…..

First thing’s first I created my folder along with the proper files that I’d be editing in order to have this project come to fruition – this would include an HTML5 file, a CSS3 file and a Javascript file. The project outline did not say anything about including Javascript in the assignment whatsoever but I decided that I’d like to go the extra mile and re-create all the months in 2017 instead of just one month. In order to do so, I would need to use some basic jQuery which I was familiar with to an extent. I’ll get into that part later on.

Anyhow, starting with the basic tags I created the Header, Main, Nav, Section and Footer tags all associated with HTML5 , and of course the classic Div tags.

You can of course see for yourself how I built this project in the source code with the link at the bottom of this article but in a nutshell I had the months included in an H1 tag nested in a Div tag nested in the Header which then was followed by my Main tag.

The Main tag is where the bulk of my work began.

First off, I included a Nav tag that included the months of the year in a sidebar to the left with the Months header inside an H2 tag. Initially I had planned to include this in an Aside tag but if I was going to put all my months in a list, I’d just go with a standard Nav tag with an Unordered List tag that listed every month.

Next up was the most tedious part of the project.

Creating a Div within a Div within a Div, (are you still with me?.. :P) I included the days of the week under an H3 tag to easily identify them in the CSS3 when editing them. After that I had included 7 rows of Nav tags, all representing a day of the week within a column in a Li tag nested inside a Ul tag.

After that, I had created the right side section in a Section tag with the header Notes under an H2 tag followed by another Div featuring my Copyright Information. Following this of course was the Footer tag that included a Section tag with 3 Div tags inside, one for the top, middle and bottom of the footer. The middle Div is where I planned to have my notices for the Holidays pop-up when you would hover over certain days in each month.

In the end, I had my Markup complete and it would end up looking something similar to this:

stage1

Not exactly the most interesting looking calendar yet but I at least had the skeleton of the document complete and would move on to the CSS3 in order to do some basic styling and get all the sections where I wanted to be on my second step.

Mind you I did not include the Eric Meyer CSS Reset in this picture for clarity.

By properly labelling my Divs, Sections, Navs and all other tags either as Classes or ID’s I worked on the widths, heights, margins, paddings, font sizes and backgrounds in order to make it visibly be laid out clearly.

After much tweaking, I had finally come to get my calendar to look like the following:

stage2

Obviously it was still not complete, but I was getting there. Now that I had my HTML5 and the bulk of my CSS3 complete, I was ready to begin adding the graphics. This part was an interesting approach as I had decided to use a combination of Vector graphics, Raster graphics and CSS3 styling to come to the final look that I had wanted.

I traced out the graphics in Adobe Illustrator which in itself looked decent. Following that I used Adobe Photoshop to add some texture with an image of a steel surface that was placed on top with a clipping mask and then using either a Pin Light or Overlay blend mode on top to create a more rugged look to my graphics, to properly convey the look and mood that I was going for.

I did this for every background image until I had them all complete and imported them into my images folder. After that I had added them as background images in CSS3 to whichever class or ID that it corresponded to. Unfortunately at first I did not realize how the graphics would play into the the final look of the calendar so I had had to do some re-adjusting with margins, padding and widths in order for them to fit appropriately without breaking the entire layout that I just spent quite some time adjusting.

Using CSS3, I added some minor adjustments to my images such as the background glow for the left and right sidebars, the headers as well as some border colouring and opacity to avoid the backgrounds get cut off so obviously and suddenly, leaving a more smooth looking border around some sections.

Initially, I had planned to write my Header and Li tags using a custom font in photoshop and then uploading the background to where it was needed but I found the text was too pixelated to read in the browser so I choose to redo the graphics with no text and write the Headers and list items in my HTML5 document instead (in the Photoshop image below, you’ll see that I wrote ‘March 2017’ in Photoshop but in the final cut it’s actually written in HTML5).

Here’s a couple screenshots of my work in Adobe Illustrator and Photoshop:

graphic-work1

graphic-work2

Phewwwww! *takes deep breathe*

Once that was complete, I had finally managed to have the final look of my calendar complete.

In essence this was what was needed for my assignment, but I had decided to go with completing the rest of the months. With that, as mentioned before, I had decided to go with jQuery to make this work. Essentially I would build the other 11 months of the year in HTML5 and apply all the same CSS3 Classes and IDs for styling and the Graphic work. That was the easy part.

The hard (or at least harder) part was including the jQuery to make my Hover functions work properly when selecting each month. Once I had linked externally with jQuery and embedded my .js file I began the document. Starting off, I decided upon load that January would naturally be the first to show so I had all my months and Headers IDs hidden besides January’s with the .show and .hide function. Once that was completed I had created a separate function for each month in the left sidebar so when you select a particular month, it’s respective Header and Month would fade in and any active month/header would disappear using the fadeIn and .hide functions.

Since I had started with March 2017, the month that I began this project, one of the requirements was to include a notice of every holiday in that particular month – in this case St. Patricks Day. If you go to that month and hover over March 17, you will see that in the middle div of the footer tag it displays a notice that it is St. Patrick’s Day. I managed to do this in jQuery with the .click, .appendTo and fadeToggle functions.

Once this was complete, I again did some minor tweaking to make things work and some re-adjustments I had noticed upon further review. You can see a sample of my changes through my Bitbucket account when I uploaded them through the Terminal Command :

bitbucket

With that being said, I had now gone beyond the basic requirements of what was required for this project. I had planned to add a Responsive Layout for smaller screens but due to time constraints I was unable to fully get my calendar responsive on all screens. Currently this calendar is optimized only for the widescreen format. In the near future, I will definitely have that completed as soon as my time frees up from other projects that we are going to begin within the next few days. 🙂

 

calendar-final

Click here to view the live Calendar

Thanks for stopping by!

– Mike

Advertisements

HTML Table Assignment

Earlier in March, we had an assignment to re-create a famous painting by an artist using HTML and CSS code – more notably with a table tag (yes, I know that they’re not used that often anymore, maybe more in back end, but that’s for another discussion).

The painting is done by a Dutch artist by the name Piet Mondrian in 1921 and is known as ‘Composition with Large Blue Plane, Red, Black, Yellow, and Gray’.

Here’s a quick image of what I created, strictly using HTML and CSS, and photoshop for the texture on the picture itself.

html-table

You can view my source code in my Github profile here:

https://goo.gl/JuWFhB

Thanks for stopping by!

– Mike

GIF in-class Workshop

The other day we created a sample GIF in class.

Using Adobe Illustrator and Photoshop, we created all the images you see as Vector Images in Illustrator and then imported them into Photoshop, creating the very GIF you see before your eyes. The clouds themselves were made using symbols, thus reducing the file size drastically as opposed to copying and pasting new paths in the document.

– M

SEO, SEM…..WTF?

So you’ve finally finished your website.

You run a list of what is completed which is as follows:

Design – Check!

Front End Functionality – Check!

Back End Functionality – Check!

And that’s it right? We’re done, correct?

Wrong.

You’re missing one of the most valuable aspects of Web Maintenance that essentially is a deal breaker for almost all established businesses. This is known as SEO or as others refer to it as Search Engine Optimization.

In short, this particular term defines how well Google’s “Search Spiders” crawl your website for it’s content and rank it on Google’s Search Engine pages. For obvious reasons, everyone would like to appear at the top of the list on page for whatever their website is about.

For example, if you’re a small business in Toronto selling flowers it would be in your best interest to have your website appear on the first page of search results when people type in “Toronto Flowers” of “Toronto Florist”. Last thing you’d want is for your competition to be on page 1 of the search results and you appearing on page 2,3 or even god forbid page 4 and beyond. Once you’re that far, you’re kind of stuck in the “abyss” unless drastic changes are made to your website’s SEO.

Common Human Psychology dictates that most people won’t search further than page one to get the answers they want from a question or when they’re searching something (well, I can’t cite my sources but let’s be honest, when was the last time you searched further than page 2 or even 1 to find something you’re looking for?) – so going back to our example about the Florist, almost everyone looking for flowers in Toronto won’t even know about your page because they’ll just find your competition’s first and just go with that before they’ve even had a chance to find yours. I mean sure, Google Maps might help in this sense as it will display your business in it’s Maps (along with the competition) but do you really want to rely on that only while your competition gets the best of both worlds? Thought so. So much for your fancy looking website with it’s drop down menus, order functions, contact forms and awesome layout. No use when no one is visiting it.

Hence why Search Engine Optimization is vital for any business or person to survive in this day and age of internet, social media and fancy 15-minutes-of-fame internet personalities.

In order to fully optimize your website, there are several ways to do so which include but are not limited to the following:

Key Words in your content and Meta Data
Key Descriptions in your content and Meta Data
Relevant Content in your Website
Properly labelling your H1-H6 Tags
Clear, Semantic Markup (HTML)
Linking to other relatable Websites
Fast Page Load (i.e. small image file sizes & proper JS syntax!)
Receiving Google Analytics code and applying it into your pages
Proper use of Google Search Console and Google Analytics

I’ll get into depth a little further on how each of these points can be applied and taken into consideration but this is a basic foundation of what to consider when building your website and maintaining it after.

SEM, also known as Search Engine Marketing essentially is paid-advertising for websites.

A common example you will notice this in your daily life is Google Ad Words.

Try it right now, type in “Toronto Tickets” into Google and see what happens. Most likely you’ll see at least a couple of websites with a Green/White button with the word “AD” next to it as the first pages that show up. As I’m currently searching it, I see that StubHub and the Toronto City Pass link appear first before anything else. That’s because StubHub and the City of Toronto paid Google for their pages to appear first when people search Toronto Tickets (or other related words), hence giving them that extra edge in ranking for the certain amount of time that both parties paid for.

Cool, huh?

This is just one example of SEM that I’ve covered but I’ll get into this topic more further down the line on my next couple of posts with SEO.

Until next time!

– Mike

The Beginnings of a Masterpiece….

mrbean

More often than not, you’ll visit a website for it’s eye-catching visuals such as an image gallery, a cool video, a visually pleasing colour scheme and/or overall easy layout.

Sometimes even, you’ll just come to enjoy a quick snippet or meme for your own amusement, such as the one above. In any case, what most people don’t realize is that they are actually contributing to the overall psychology of website traffic and behaviour that humans are a part of, i.e. visually pleasing images, colours and layouts. We all have certain looks and styles we identify with and this all matters of course as much as the Development cycle does when creating a website or application for your clients.

Design is as much important as functionality – in fact, before most Developers begin to touch any code for a website or application, a visual aid (or wireframe, mockup, etc.) is created for them to go by and refer to when moving forward and coding up the whole project. Hence, why the Graphic Designers, Illustrators, and UI/UX Designers are needed here the most. They have the eye for enticing and appealing imagery, colours and layouts needed to keep visitors on the page as long as possible and have them keep coming back. Of course, that is not to say that you can’t be both a Designer and Developer but normally on larger-scaled projects you would be relegated to one role focus and have someone else (or other team) deal with the other roles exclusively.

As a Designer, you are taking much into account when creating a mockup for the developer or development team. As mentioned above they need to take into account colour schemes, font-types, layouts, dimensions, logos, banners, galleries, nav bars and other matters as well when putting this together. Generally the client will know the look they are going for but more often than not, they won’t know everything 100%, which is why the Designer steps in to guide them to what they are striving for with examples. They may go through some sample mockups to which the client would review and finally approve the look they are going for and in turn the Development team would finally receive the approved look to begin putting the pieces all together. This, in a nutshell, is referred to as Branding. We’ll touch base later on how important branding is to a company or individual.

The Scoop

In the end, it’s in yours and your client’s best interest to have an easy to navigate website that is visually pleasing for your visitors with hi-res images and a distinguishable look that appeals to them and is recognizable with their brand.

Why and how do we hi-res images and content? We’ll get more into that later on, but for now, here’s a gallery of some sample websites that take all our aforementioned Web Design factors and apply them masterfully in their own way a to give them a professional, up-to-date look for their brand:

I Look Good!

Thanks for reading!!

– Mike

Web Design vs. Web Development. What’s the Deal?

The difference between Website Design and Development

What's the Deal?

In order to fully understand the concept of creating Websites, we need to clearly differentiate the different steps, skills and roles needed to execute a website properly.

Web Design

This is the core of Website creation. This stage of a project includes concepts, layouts, colour schemes, typefaces, and beyond. Before you even begin to start creating files and folders, you want to make sure you know how it’s going to look like at the start. It’s in you and your client’s best interest to make the website look pretty, pleasing for the eyes and easy to use for your visitors on all formats and browsers including computers, tablets and phones. This in other terms, is Responsive Web Design (i.e. it responds to whatever dimensions the screen that it is being viewed from. You’d be creating graphics, images and all sorts of other media to be featured on your website. While no actual programming is involved in Web Design, you do use HTML (Hypertext Transfer Protocol) to create the raw layout of the website followed by CSS (Cascading Style Sheets) that will define the actual look of the website; hence the word styling in it.

Web Development

Often confused and categorized as one and the same with Web Design, Web Development couldn’t be further from the truth. It involves primarily with coding, hacking, programming (whatever you would like to call it) in several Front End and Back End Languages. I’ll touch base later on with what the difference is with Front End and Back End Development but for now, here’s what you need to know. Development includes bringing your website to life as if you only had HTML and CSS on a website, it would just be a Static website with no animation involved whatsoever, so Development helps bring it to life with near-limitless features such as drop down menus, rotating picture galleries, scrolling effects and even games. Front End Development involves coding with Browser supported languages including but not limited to:

  • HTML
  • CSS
  • Javascript
  • AJAX

On the other hand, Back End Development involves coding from the Server end of things with the following languages (but not limited to):

  • PHP
  • MySQL
  • Java
  • Ruby
  • Python

Why should I care?

We’ll touch base specifically on what the difference between all these languages means to you, either as a casual coder or a career-minded individual at a later time, but hopefully this will help you begin to build a foundation of knowledge of where this all fits in the Media Industry.

For some further reading, refer to the following link:

Click Me!