Coding an Advent Calendar: Day 6

This year, I decided to create an Advent Calendar website in HTML5, CSS3, and JavaScript. My hopes for the site are to showcase some of my frontend development abilities as well as make something fun, functional, and reusable.

Day 6

Add README.md
Actually, part of Day 5’s work of setting up Grunt, Sass, and Autoprefixer* for development carried over into Day 6. So, I did little more coding and more work on the overall project housed on GitHub. Part of this work included adding a README file that would stand as the GitHub project’s “front page”. There are at least 3 things I like to include in GitHub README files:

  1. A main project image (and possibly some other images)
  2. A description of the project: what it is and how to use it
  3. A Changelog that shows the various updates to the project over time (I have considered adding this as a separate CHANGELOG.md file, but decided for the time being to leave it in my “front page” README.md)

*Actually, Autoprefixer is now deprecated in favor of grunt-postcss so I will probably take some time to set that up later as well.

Add a GitHub Issue for Images
Adding an image to a GitHub README is relatively easy: all you need is a link to an image that already resides online. You can add this with a ! in front of the image link:

![day4](https://cloud.githubusercontent.com/assets/6644259/20913450/5ac0b6d8-bbbb-11e6-9a82-2d8eed8abb9f.png)

However, if you do not HAVE an image online yet, and you were intending to use an image directly from the GitHub repository itself, you may run into some trouble because you can’t just “Upload Image” anywhere easily. But there is one easy “hack” I stumbled across online some time ago that I’ve been using for a while:

  1. Create a GitHub Issue and upload an image there. GitHub will let you drag and drop an image from your desktop into the Issue reporter textarea, and from there you can grab the link to the uploaded image to use in your README.

This could be a little “messy” because now you will always have at least 1 Issue open for that repository (unless you move your image link offsite), but it works. (I’d tried to do the same thing with GitHub’s Wiki for the repository, but it also won’t allow you to upload an image. Rather it requests the Image URL.)

Add LICENSE  
Finally, I decided to add a LICENSE to the repository.

Since I’ve been developing WordPress stuff for many years now, I’ve come to know and enjoy the GPL license quite a bit. But, I didn’t know if I wanted to just go with that right off the bat, or if perhaps there was something else I might choose. So, I started investigating things and stumbled upon an excellent website that let me compare the different Open Source licenses easily. I considered two choices:

gpl-license mit-license

I decided to use the MIT License as it seemed to be a little simpler and had less Conditions.

*Side note: After getting my first WordPress theme approved for the WordPress.org Theme Directory, I realized how important keeping track of the resources you use in a project is. Before approval, I needed to list all the projects, sources, and licenses of every additional piece of software or code I used in my theme (like any Google Fonts I used, FontAwesome, the Foundation Framework, and so on). This is something I may decide is important to do for this project as well. 


Work Completed (to date)

  • December 6, 2016
    • Add README.md
    • Add a GitHub Issue to hold usable images
    • Add LICENSE
  • December 5, 2016
    • Create a GitHub repository and full site files for easier management
    • Setup Grunt.js to compile my Sass into CSS
    • Begin blogging about the process
  • December 4, 2016
    • Countdown clock (JS Date class & jQuery Easing) with SVGs
    • Dynamic text output for Year based on the current date
    • CSS only slider (off by 5px each slide)
  • December 3, 2016
    • CSS bow & ribbon
    • Footer with FontAwesome presents
    • Hover, active, and “Christmas Day” styles for footer presents
  • December 2, 2016
    • React.js + Axios.js initial code structure
    • Color palette
    • CSS → Sass
  • December 1, 2016
    • Let it snow
    • Typography choices
    • CSS presents (first design)
    • Design notes menu

Open Source, WordPress, and the Community

WordPress currently powers over 25% of the Internet’s top sites. What is it and what makes it so popular and powerful? This talk introduces the audience to the “democratization of publishing” that is WordPress.

한국어로 읽어요~

Hello, my name is Aaron Snowberger. I’m a hobbyist WordPress theme and plugin developer, graphic designer, and English teacher at Jeonju University. I run a WordPress Meetup and workshop in Jeonju and was invited here today to give an overview presentation about WordPress. So, this talk is a modified version of the first one I gave in our Jeonju Meetup in January.

I usually present in English, but was encouraged to try this presentation entirely in Korean, so please give me some grace – it won’t be perfect, and I’ll try not to bore you – at least my PPT is pretty, right?

In this talk, I will address 4 main points that span the topic “Open Source, WordPress, and the Community.” They are:

  1. What is WordPress?
  2. How big is WordPress?
  3. Why should you care?
  4. What can you do with it?

What is it?

WordPress is an open-source Content Management System licensed under the GNU General Public License (GPL) version 2.

Open Source

What is open-source software?

  • “Open” means “visible, free, or available”
  • “Source” is the computer code that creates a program

So, “open-source” is computer code that is freely available to the general public – for anyone to use, change, or share with anyone else. It’s a de-centralized model of software production that provides extensive code documentation to the public for free and encourages community contribution to rapidly build upon and improve the original program.

Contrast this with “closed-source” code and technologies that are often developed in-house to be sold. In some cases, there may be criminal penalties for copying, modifying, disassembling, or even studying the internal source code.

Examples:

  1. Microsoft: closed vs. Linux: open
  2. iOS: closed vs. Android: open
  3. Wix: closed vs. WordPress: open
Advantages of Open vs. Closed-source Software

Open-Source:

  1. More developer support (anyone, anywhere can work use it)
  2. More customizable
  3. More secure (thousands of people can view and fix the code)
  4. Extended Community Support

Closed-source:

  1. Less choices and customer confusion (there’s only ONE version of the software)
  2. More unified experience (Apple always looks like Apple)
  3. More profitable (charge developers to use it, lock out competitors)

Content Management System

What is a CMS?

Years ago, most websites were built page by page, coded by hand, and filled with static content. (I built some of those websites.) These days, websites are filled with a much greater quantity of dynamic content that is often updated on a daily basis.

In order to make the administration of large, fast-changing websites more manageable, Content Management Systems (CMSs) were created in the late 1990s to reduce the need for hand-coding every page and to create a web-publishing interface that more closely resembles a word processing program like Microsoft Word. This enables anyone with an Internet connection and basic word processing skills the ability to quickly create and publish dynamic content to their webpages.

Additionally, website components like the header, the footer, the sidebar, and the various content pieces are broken up into individual files that can be managed separately and loaded dynamically when a website is opened.

It is much nicer to be able to manage each website piece individually (only one code file) than needing to open (up to dozens of) separately coded webpages to modify something as minor as a changed logo in the footer. (I also used to do that.)

GPL Version 2

What is the GPL2?

GPL stands for GNU General Public License (GPL) version 2 and is the legal license that covers WordPress and its source code. The GPL2 is copylefted (a play on the word “copyright”), which means that any software under its license that is used, modified, or distributed must retain the same license terms in order to be legally distributed.

This means that software companies or other developers cannot legally change the license of WordPress code or derivatives of it to closed-source. WordPress and its derivatives are therefore “forever free” under the GPL license for everybody.

In a recent interview, WordPress co-creator Matt Mullenweg described open-source code as:

The most important idea I’ve been exposed to in my life-time … it’s like a Bill of Rights for software … it basically says, “Here are four freedoms that are inalienable rights that you have when you use open-source software.”

The software is completely FREE to:

  1. Use commercially
  2. Modify or build upon
  3. Distribute
  4. Place under warranty

So long as you:

  1. Track dates/changes in the source files
  2. Keep all modifications under the same GPLv2 license
  3. Disclose the source code

(See the simplified GPLv2 summary)

A brief history of WordPress

WordPress was started as a joint software project by Matt Mullenweg and Mike Little in 2003. It was a fork of another open-source blogging platform called b2 (cafelog) that Mullenweg had built a blog on.

In his own words:

[WordPress] started as a fork (or a derivative) of another open-source project.  There was this thing out there called b2 which I was using and blogging with myself and the creator disappeared, so the development stopped. Myself and this guy in England, Mike Little, picked it up and kept working on it.

The two eventually met personally in London in 2005, the same year that Matt formed the company Automattic (notice the “Matt” in there) and WordPress.com went live.

Automattic is the driving force behind WordPress.com and some of WordPress’s most popular plugins like Akismet for blocking spam comments and Jetpack for powering up your WordPress installation.

The Difference Between WordPress.com and WordPress.org

This is a topic I found necessary to clarify in the Jeonju Meetup because many of our first visitors were confused about the difference between the two.

The major difference between WordPress.com and WordPress.org is that the .com is a SERVICE and the .org provides the SOFTWARE.

The major difference between a blogging SERVICE and blogging SOFTWARE is that a SERVICE (like Wix.com or Squaresoft.com) lets you use a standard installation of the software on their own servers (but are limited in your ability to customize the code yourself). But by downloading open-source SOFTWARE on your own, you have the freedom to fully customize any aspect of the code yourself. You are only required to find your own website host.

Think of it as the difference between renting a house and buying one.

  • WordPress.com is the renter you don’t really “own” (http://yourname.wordpress.com) – you can’t change all the wallpaper to exactly how you might like, and you have to call the landlord if something breaks
  • WordPress.org provides the home you “own” at your chosen address (http://www.yourname.net) – it comes with the complete freedom for you to redecorate and redesign as you please

So, in this way, WordPress.com is the best place for people starting out with the software to learn how it functions and how to best use it. Then, once you’re comfortable with it, you can move over to WordPress.org  to download your own version of the software.

In summary:

WordPress.com
  1. Is a hosting SERVICE
  2. Is like a house you rent
  3. Is limited in freedoms, but provides paid upgrades
WordPress.org
  1. Hosts the (downloadable) SOFTWARE and all documentation
  2. Gives you access to a house you can “own”
  3. Is virtually unlimited in customization options

How big is WordPress?

WordPress currently powers over 60,000,000 websites around the world – that’s 23% of all the world’s websites – and Automattic is valued at over $1 billion.

http://w3techs.com/technologies/history_overview/content_management/all/y/
http://w3techs.com/technologies/history_overview/content_management/all/y/

WordPress powers plenty of famous and popular websites like:

  1. The New York Times blogs
  2. CNN blogs
  3. Forbes blogs
  4. Reuters blogs
  5. Jay-Z
  6. Katy Perry
  7. TechCrunch
  8. The GOP (US Republicans)
  9. Mashable

For a more robust list, see WordPress.com’s Notable Users page. And for a FULL list, see WordPress.org’s Showcase.

And in Korea, I’ve found WordPress powers:

  1. Seoul City’s homepage
  2. Bloter.net
  3. Samsung Electronics
  4. LG Electronics
  5. Yonhap News TV
  6. Insight of GS Caltex
  7. KB Rockstar
  8. Hyundai Corporation
  9. WebActually

There are some nice collections of sites at isquery.com and hwangc.com, or you can see a random selection of 4 WordPress sites in the Showcase on ko.wordpress.org.

Why should you care?

#1: It’s Free

Because of its open-source nature and the GPL2 license, you never have to pay any kind of licensing fees to use or modify the software.

#2: It’s Powerful

There are:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

#3: It’s Scalable

WordPress.com is the world’s largest SINGLE INSTALLATION of WordPress. There are over 500 million users with their own unique database tables that are running on a SINGLE code base. Now that’s pretty impressive!

In the same way, WordPress can scale to meet any of your website needs – whether you are a blogger writing a daily diary, or a Fortune 500 company that needs individual store sites for each of its +1,000 stores (Best Buy).

#4: It’s Growing

In 2014, there were 81 WordCamps (large-scale WordPress conferences) held in over a dozen countries. And 2014 was also the first year that non-English downloads of WordPress surpassed English downloads. This shows the company is growing internationally as well as in the US market.

Additionally, the number of monthly unique visitors to WordPress.com is comparable to the number of monthly unique visitors to Facebook – though the company is much smaller.

http://automattic.com/about/
http://automattic.com/about/
#5: It’s Comparatively Easy

I’ve worked with, customized, and programmed:

  1. Static HTML sites
  2. Moodle
  3. Joomla!

And I can say from experience that WordPress has the LEAST complicated administrator backend.

Years ago, Joomla! may have been more powerful than WordPress, but with the 5 major releases of WordPress in 2014 and continual development from a fine community of programmers, it is no longer.

In fact, after transferring one site (TheJeonjuHub.com) from static HTML to Joomla! in 2011, I ended up transferring it over to WordPress within 2 years to better enable the content creators of the site to work. Joomla! menus and the backend just ended up being more complex than they needed to be.

Generally, a full WordPress site can be:

  1. Setup in 5 minutes
  2. Built in 4-5 weeks

If you can Word, then you can WordPress. The Editor interface is virtually the same.

#6: It’s great for Platform Building

If you want to sell anything, you need a platform. WordPress is an amazing platform building tool that makes it easy for anyone to take a simple blog with 30 views per month to over 30,000 views per month (I speak from experience).

KeyToKorean.com site stats
KeyToKorean.com site stats

Main idea:

If you have a story worth telling, then you have a platform worth building.

#7: Korea is a Growing Market

According to a graph of Google Search trends I recently looked up, South Korea has a Search Volume Index of only 15 with regards to searches for WordPress and WordPress related topics. Compare this with neighboring countries and you can see there is a lot of potential for growth in Korea:

  1. South Korea: 15
  2. Japan: 26
  3. Russia: 25
  4. China: 20
  5. Mongolia: 34
  6. Philippines: 57
  7. Malaysia: 40
  8. Indonesia: 76
  9. United States: 46

Additionally, there is great support for WordPress in Korean provided by the WordPress community here.

#8: The WordPress Community

The WordPress community is quite large and very supportive, helpful, and friendly. WordPress Meetups are held all over the world to teach and help others build WordPress websites.

I’ve begun a WordPress Meetup in Jeonju because I wanted to a place to get together regularly with other WordPress users help them build their websites. I actively encouraged the Liberal Arts department at Jeonju University to start using WordPress for “flipped classrooms” and teacher websites and a majority of the 33 foreign teachers took my advice and created their teaching sites on WordPress.com. I’ve run a number of workshops and helped individual teachers improve their sites on numerous occasions, so I decided it was about time to do something more regularly.

I’d initially begun the Meetup with the idea to only target foreign expat users who might want to run a teaching site or blog, but thanks to my invitation here and the encouragement to present in Korean (something I’m still quite shy about), I’ve decided to extend the Jeonju Meetup for an extra hour or two and invite Korean speakers to come in and share about WordPress there as well. (Hopefully I’ll also be able to “level up” my Korean speaking skills there.)

WordPress Support Staff call themselves “Happiness Engineers” and make it their job to “deliver happiness” on the user forums:

  1. WordPress.com Forums (WordPress.com hosted sites)
  2. WordPress.org Forums (self-hosted sites)

In fact, a “recommended read” for their Happiness Engineers is Delivering Happiness by Tony Hsieh, CEO of Zappos.com.

Deliveringhappiness

What can you do with it?

#1: Build Websites

In my own experience, I’ve built:

  1. Classroom sites
  2. Academy sites
  3. School & organizational sites
  4. Educational sites
  5. Church websites + podcasting
  6. Portfolio websites
  7. And personal blog sites (like this one)
#2: Contribute to the Community

There are numerous ways to get involved with the WordPress Community – and you’re already participating in one by attending this WordCamp. The others are suggestions from make.wordpress.org:

  1. Contribute to Core development
  2. Build plugins
  3. Design themes
  4. Create Web apps
  5. Help out in the Support Forums
  6. Help write documentation or training materials – even tutorials on your blogs
  7. Help translate the core, themes, or plugins
  8. Join (or form) a WordPress Meetup

Again:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

So the real question isn’t “What can you do with it?” but rather:

What will you do with it?


Liked my PPT and talk (article)? Leave me a comment below.

Or for our Meetup members, feel free to ask any questions you might have about WordPress or give me suggestions for the next Meetup subject and talk!~

All You Ever Wanted to Know About WordPress in 10 Minutes or Less

Here’s a quick rundown of my talk at the first WordPress Meetup Jeonju for 2015 (January 24).

In this talk, I covered 4 points:

  1. What is WordPress?
  2. How big is WordPress?
  3. Why should you care?
  4. What can you do with it?

What is it?

WordPress is an open-source Content Management System licensed under the GNU General Public License (GPL) version 2 license. This means the software is completely FREE to:

  1. Use commercially
  2. Modify or build upon
  3. Distribute
  4. Place under warranty

So long as you:

  1. Track dates/changes in the source files
  2. Keep all modifications under the same GPLv2 license
  3. Disclose the source code

(See the simplified GPLv2 summary)

WordPress was started as a joint software project by Matt Mullenweg and Mike Little in 2003. The two met personally in London in 2005, the same year that Matt formed the company Automattic and WordPress.com went live.

The Difference Between WordPress.com and WordPress.org

The major difference between WordPress.com and WordPress.org is that the .com will host your blog for FREE at http://yourname.wordpress.com (and you can’t change that address unless you pay for a premium upgrade), and the .org is where you can download your own full version of the software to upload it to your own self-hosted domain (http://www.yourname.net).

So, in this way, WordPress.com is the best place for people starting out with the software to learn the ropes, and once you’re comfortable with everything, then it’s time to move over to downloading your own software from WordPress.org.

Here are some more differences in a quick list:

WordPress.com
  1. Hosts your site for FREE at yourname.wordpress.com
  2. Limits your ability to customize colors, code, etc
  3. Has a limited number of plugins and FREE themes
  4. Offers upgrades you can pay for (premium themes, your own domain name, customizations, etc)
WordPress.org
  1. Is the DOWNLOAD location for the WordPress software, themes, and plugins
  2. Requires you own your own domain name and have a hosting provider
  3. The open source software allows FULL customization (depending on how deep you want to go)
  4. You have the ability to find and install your own themes and plugins, or even write your own

Think of it as the difference between renting a house and buying one.

WordPress.com is the renter where you can’t really change all the wallpaper to exactly how you might like, and you have to call the landlord if something breaks.

WordPress.org is the purchased home that provides the full software for you to freely download and do with as you please.

How big is WordPress?

WordPress powers over 60,000,000 websites around the world – 23% of all the world’s websites!

http://w3techs.com/technologies/history_overview/content_management/all/y/
http://w3techs.com/technologies/history_overview/content_management/all/y/

It powers plenty of famous and popular websites like:

  1. The New York Times blogs
  2. CNN blogs
  3. Forbes blogs
  4. Reuters blogs
  5. The Rolling Stones
  6. Jay-Z
  7. Katy Perry
  8. TechCrunch
  9. The GOP (US Republicans)
  10. Mashable

For a more robust list, see WordPress.com’s Notable Users page. And for a FULL list, see WordPress.org’s Showcase.

Why should you care?

#1: It’s Free

Because of its open-source nature and the GPL2 license, you never have to pay any kind of licensing fees to use or modify the software.

#2: It’s Powerful

There are:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

#3: It’s Scalable

WordPress.com is the world’s largest SINGLE INSTALLATION of WordPress. There are over 500 million users with their own unique database tables that are running on a SINGLE code base. Now that’s pretty impressive!

In the same way, WordPress can scale to meet any of your website needs – whether you are a blogger writing a daily diary, or a Fortune 500 company that needs individual store sites for each of its +1,000 stores (Best Buy).

#4: It’s Growing

In 2014, there were 81 WordCamps (large-scale WordPress conferences) held in over a dozen countries. And 2014 was also the first year that non-English downloads of WordPress surpassed English downloads. This shows the company is growing internationally as well as in the US market.

Additionally, the number of monthly unique visitors to WordPress.com is comparable to the number of monthly unique visitors to Facebook – though the company is much smaller.

http://automattic.com/about/
http://automattic.com/about/
#5: It’s Comparatively Easy

I’ve worked with, customized, and programmed:

  1. Static HTML sites
  2. Moodle
  3. Joomla!

And I can say from experience that WordPress has the LEAST complicated administrator backend.

Years ago, Joomla! may have been more powerful than WordPress, but with the 5 major releases of WordPress in 2014 and continual development from a fine community of programmers, it is no longer.

In fact, after transferring one site (TheJeonjuHub.com) from static HTML to Joomla! in 2011, I ended up transferring it over to WordPress within 2 years to better enable the content creators of the site to work. Joomla! menus and the backend just ended up being more complex than they needed to be.

Generally, a full WordPress site can be:

  1. Setup in 5 minutes
  2. Built in 4-5 weeks

If you can Word, then you can WordPress. The Editor interface is virtually the same.

#6: (Not in the PPT) The WordPress Community

The WordPress community is quite large and very supportive, helpful, and friendly. WordPress Meetups are held FREE of charge all over the world to teach and help others build WordPress websites.

WordPress Support Staff call themselves “Happiness Engineers” and make it their job to “deliver happiness” on the user forums:

  1. WordPress.com Forums (WordPress.com hosted sites)
  2. WordPress.org Forums (self-hosted sites)

In fact, a “recommended read” for their Happiness Engineers is Delivering Happiness by Tony Hsieh, CEO of Zappos.com.

#7: It’s great for Platform Building

If you want to sell anything, you need a platform. WordPress is an amazing platform building tool that makes it easy for anyone to take a simple blog with 30 views per month to over 30,000 views per month (I speak from experience).

KeyToKorean.com site stats
KeyToKorean.com site stats

Main idea:

If you have a story worth telling, then you have a platform worth building.

What can you do with it?

From my own experience, I’ve built:

  1. Classroom sites
  2. Academy sites
  3. School & organizational sites
  4. Educational sites
  5. Church websites + podcasting
  6. Portfolio websites
  7. And personal blog sites (like this one)

Again:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

So the real question isn’t “What can you do with it?” but rather:

What will you do with it?


Liked my short PPT and talk (article)? Leave me a comment below.

Or for our Meetup members, feel free to ask any questions you might have about WordPress or give me suggestions for the next Meetup subject and talk!~