javascript

Stop Struggling with JavaScript

JavaScript

Are you a front-end developer who is struggling to truly understand JavaScript? Or maybe you are UI/UX designer working with a front-end developer who is an advanced JavaScript developer. Regardless where you are at in your professional web dev/design career, JavaScript is an important language to at least have some basic understanding of.

I have even avoided JavaScript for a portion of my web career just because I was either assigned to projects that did not require my full attention to the language or was able to work with other front end developers who were able to assist me with that portion of the project. I have even written about JavaScript and other web anxiety.

Beyond HTML, CSS, PHP and WordPress

But recently I had to put my foot down and fully indulge in the JavaScript language because I wanted to advance my career beyond HTML, CSS, PHP, and WordPress.  I have spent indulging in physical books, e-books, audiobooks, videos, and online courses. They say that “10,000 hours” in anything makes you an expert and that is what I set out to do.  Here’s what I have spent doing to truly understand the JavaScript and break any fear of the language:

JavaScript Books:

Below is a list of books that have helped me truly understanding programming and the JavaScript language, I especially recommend that You Don’t JS Series By Kyle Simpson. I personally enjoyed the hard copies of the book because I enjoy highlighted and making physical notes in the book but there are of course free digital copies on github.

JavaScript Audiobooks:

I have a long commute to and from work some days. So beyond podcasts, I enjoy audiobooks too. Now I know what you may be thinking? JavaScript audiobooks? How? Why? It’s not all about writing code, all though that is the fun part, sometimes. It’s also about understanding the overall concept of it.

These are just some of the many ways I am improving my JavaScript skills. So, whatever it’s you are afraid to learn or don’t think you can’t learn, just consume yourself in for 10,000 hours and eventually you will get it.

The Mystery behind Domain Names

The Mystery behind Domain Names

Technology

There are over 68 million.COM domains registered. That’s a lot of domain names out on the Internet that is either already taken or just parked in some obsolete spot gathering dust and all kinds of age. The most common names like loser.com. Jamesbrown.com are already taken by net investors who resell the rights to the names. Can you imagine someone having www.elvis.com? He’s just waiting on the highest bidder!

There are 900 possible combinations for two letter sequences. If you’re looking for “ET” then you just won’t find it! Even allowing for digits, again every single web address is taken. Of course, that’s ignoring the fact that.COM registrars now mandate a 3-character minimum length, so it wouldn’t be an option.

Many of the three-letter sequences are taken. Adding digits to a domain name creates a number of garbage domain entries. If you’re dying to acquire great domains and unique domain names, they’ll free up sometimes only to be auctioned off through unique domain name sales.

The longer the domain name that you choose, the more that the possibilities are that it could be available presuming that you’re willing to accept an arbitrary sequence of letters and/or digits. For example, most organizations have 4 letter acronyms (WQAM.com and AFTA.org so you may have a chance using over 4 letters to get the domain name that you want in acronym style!

Of course, many of the registered domains are ever, visited, with a huge percentage having nothing more than a “parked page” (users pay domain registrars to put up ads for themselves on these type of parked pages). There are so many combinations and back door tricks to domain name cataloging and classification until the possibilities are endless.

The rule is to obtain a domain name that closely resembles who you are about which gives you an identity and brand on the internet.

Want to make six figures? Learn to be JavaScript Developer

Technology

There are thousands of JavaScripts freely available for downloading. These range from Drop Down menus to Snow Effects, from Mouse-over Effects to Digital Real-Time Clocks.

JavaScript is useful for introducing limited animation to your web pages without the download times associated with Flash animations. Your page tracking and Google Adsense tracking also use JavaScript.

People see JavaScript programming as a new and highly paid career. Universities supply the courses because the demand is there and it’s a good way for the university to make money. As these qualified programmers come onto the jobs market, the number of programmers is going to exceed the number of vacancies and salaries will fall.

When companies can outsource their programming needs to low cost countries like India and China, they are unlikely to want very many highly paid programmers on their rolls.

If you do learn JavaScript you can earn money on one of the freelancing sites, by bidding on various projects. Be aware that you will not be able to compete on price with programmers from India or China, to compete on quality and completion times. The reputation you establish early on will stay with you for a long time, so make sure it is an impeccable one.

JavaScript does have some disadvantages. It works differently on different browsers and it increases the download time of your pages.

Against these disadvantages are its advantages. There are sites where you can download scripts for free and many sites where you can learn at least the rudiments of JavaScript programming without paying a cent.

JavaScript and other Web Anxiety

JavaScript and other Web Anxiety

Technology

I recently came across this excellent video called “Full Stack Anxiety” by Joel Califa with this related article by @FirstMark and it got me thinking about my current situation as this hybrid UI/UX designer and front-web developer.

First, a little background on my web career for context

I have been building digital deliverables for the web since 2005, and in the beginning, I struggled with HTML and CSS and was more of the Adobe Creative Suite guy using Photoshop and InDesign to design print materials. Later on, continued to traverse the Adobe Creative Suite with Flash and Dreamweaver (actually when I started using Flash and Dreamweaver they were still own by Macromedia). Built a few great portfolios in Flash and some okay websites in Dreamweaver utilizing templates.

Hit a few bumps in the road at the beginning of my career working for some not so great freelance gigs and contract jobs, but all of them a learning experience making me a better at what I choose to focus on and find my niche in the web world.

Between 2006 and 2007 I began to understand HTML and CSS and was able to build websites utilizing Photoshop, NotePad++ and your traditional shared hosting provider, uploading files via FTP.  I also was able to implement things like JavaScript and jQuery but never without reference; I could never write JavaScript from scratch as I did with HTML and CSS. There was a lot of copying and pasting happening with JavaScript.

Then I discovered WordPress, and it opened a whole other realm of opportunities for me.  I felt limitless with WordPress and still do today. But what I was finding utilizing the framework like WordPress was that I was missing out on the opportunity for what I  would consider “hardcore web programming,” for example building a PHP or JavaScript web app from scratch. And doing that hardcore web programming with all the fancy compilers and make tools you find today. For example Gulp, Grunt, WebPack LESS, and or SASS.

Also felt like I missed out on genuinely understanding JavaScript and now not having a keen understanding of JavaScript background leaves you not worthy of many UI developer jobs. Or even worst you try to take a UI developer job to learn JavaScript and all the cool new tools, but the current web-devs are a bunch of pompous, egotistical assholes. And if you don’t operate at their speed your, then you are an idiot! “Look at how fast I can use the command line.”

Sorry had to vent there, let’s get back on track.

What to focus on next for my web career?

I have held a multitude of positions everything from graphic designer to web developer to the more recently UX designer and UI engineer. To me, they are just titles. Why? Fundamentally I approach all my jobs with a similar mindset, get presented with a problem/task and do everything in your power and knowledge to solve that problem even if not knowing the proper syntax or methodology to explain it. How to explain it? Utilizing your past experiences,  online resources, and communities.

Over the years you gather the necessary and experience and knowledge to take with you for your next adventure (job/gig). But sometimes that only gets you so far. Questions I ask myself today

  • Should I niche down? – For example be purely a WordPress Developer.
  • Should I get better at JavaScript and pick up a framework like React.js? – Probably should
  • Should I focus more on product design and management? – Maybe one day I could be a product manager and not worry about coding every again.
  • Should I focus on project management? – Maybe one day I could be a project manager and never worry about coding again.
  • Do I continue to be a jack of all trades and master none? – Not likely a good idea.

Hence, you can see where the anxiety comes in to be being a web-dev hybrid purple squirrel thingy.

But thanks to the excellent video and article by Joel he does give us some impressive outlooks on what to focus on (note this our my takeaways):

Be happy with your career and what you decide to do

Currently, I am satisfied working as front-end web developer/graphic designer typically in marketing departments utilizing tools like WordPress, Photoshop, Moz, Hubspot, Google Analytics and Hootsuite to deliver compelling digital solutions and custom WordPress sites that drive leads to convert.

Where do I want to be eventually, maybe? I may see myself as a creative director, product manager or even a director of development/IT. But who knows where the road will take me. For now, I keep gathering experience and knowledge with me with each job and moving forward.

Since I feel confident in the UX design process and am proficient in Photoshop, rapid prototyping, etc. I feel like I want to focus on learning hardcore JavaScript development. Why? I think it’s imperative for me to stay relevant in the front-end web development world. Plus I feel most developers get paid more than designers in some cases*.

*Of course, this is based on industry, company, location and whole other bunch of factors. But currently I see developers getting paid more in my region and more opportunities for developers then I do designers. 

Stop being a jack of all trades and master none

So to paraphrase Joel,  “Stop chasing the trends” – You don’t have to learn the latest and greatest JavaScript framework. But be aware of those frameworks and maybe try one out but do what you are good at for now and keep learning.

So thanks Joel for putting things in perspective it helps. Until next time, Godspeed.

john-jennings-430220-unsplash

What is the purpose of a good design?

UX Design
Truly, what is the purpose of a good design? A good design can be like a logo. It stands for what the company is for. In getting a design, one should consider how it will be of use. It can be made of more than one type, depending on the preference of a company, as long as the concept is still the same.

The simpler the design, the better. With the evolution of graphic designs came the use of more complex designs to create and to choose from. Special effects are now being used in answer to the advancement that people and the world is undergoing.

This may be expensive but they it does the job of getting more attention than its counterparts. A simplified version of this graphic design is required to some of the more simple applications.

What is image style in designs?

The design is what the company should be. It is the company’s representation so it would only be right for the designs to justify the company.

The clients that these companies accommodate for should also be represented in the design. Having a two-way purpose for both the provider and the consumer comprises a successful design.

Is format important in designs?

Formatting your designs would add to its effectiveness. By using the right font formats, drawing and photographic applications and color management, will guarantee the easy management of these designs.

What is originality in designs?

As designs represents your company, they should be unique enough for people to relate it only and exclusively to your company. This reduces the probability of misconceptions and misunderstanding in the impressions the company has to make to the people. Having an incomparable and distinctive design could make your company memorable enough for people to remember it, consciously or unconsciously.

What is the importance of appeal in designs?

Appeals are what make your design attractive, no matter how simple it is. Using the right fonts and choosing the right colors that can create the correct appeal to the people is a crucial factor.

The company does not only have to think of the effect it will give today but also what it will do in the future. The appearance could be changed from time to time if necessary to generate the right outcome.

Designs can make or break the company. Most often than not, it takes time to get the right designs that can make a lasting effect. With more graphic designs being created and invented, people can have more choices to choose from.

blockchain

The Infamous Blockchain

Technology

We have all heard about the blockchain, and most of us will associate with Bitcoin or cryptocurrency. But the blockchain is a piece of technology separate from Bitcoin and other cryptocurrencies. The Blockchain could be considered a web-based application and or database. But it’s best described as online, uncontrolled public ledger in non-technical terms.

According to Investopedia.com, “A blockchain is a digitized, decentralized, public ledger of all cryptocurrency transactions. Constantly growing as ‘completed’ blocks (the most recent transactions) are recorded and added to it in chronological order, it allows market participants to keep track of digital currency transactions without central recordkeeping. Each node (a computer connected to the network) gets a copy of the blockchain, which is downloaded automatically.”

The blockchain cannot be compared to another database technology in existence today. Considered to be almost revolutionary and making even some governments afraid of it.

What benefits can we expect from the blockchain?

1) The blockchain levels the playing field: From small to medium-size businesses, the blockchain can bring decentralized-technology to our fingertips. Blockchain levels the playing field, so that all voices can be heard, offerings can be marketed and creativity and innovation can flourish without government interference.

2) Economic empowerment: Blockchain enables all to do some incredible things at the click of a mouse, tax-free. We can perform transactions with blockchain for just about anything: pay bills, plan vacations, pay for an Uber ride, buy or rent movies or even order food services.

3) Careers in blockchain are fantastic: A job in a blockchain-related field can be gratifying. It can also improve your quality of economic and financial well-being. Blockchain skills are unique, and in short supply, the work is exciting and gratifying, and the financial rewards are relatively high.

4) Great futures for our children: Through blockchain, the world is literally at your children’s doorstep. Blockchain enhances the education of children. Just imagine what could happen children spent time designing or improving economics by building their cryptocurrency or used their creativity to create videos, films, music and written works and paid for that creative with a decentralized currency. The possibilities and opportunities associated with blockchain are endless.

BASIC AUTOMATED WEBSITE TESTING

Basic Automated Website Testing

UX Design

The scenario

You just finished building your company’s website. You have tested it yourself and had other company employees test it. The site now goes live. A few weeks later you start getting emails from irate customers who complain that they are unable to place their orders because specific steps in the Buy Now process give errors. You quickly fix the problem. A few days later you get complaints about some other issue, and you again react rapidly to set the website. This continues for a few months till the charges finally halt, and things stabilize. At this point, you make some enhancements to your site. A few days later a customer email alerts you to the fact that in the process of making this enhancement you broke something else on the website. Again you spend the time to find and fix the problem, but by now you are perplexed and not a little frustrated. These issues have cost you many customers in the last few months and potentially spread ill will across the broader customer community. It seems to you that the only way to have detected these issues before they went live was to have employed a massive army of software testers, something your company is unable to afford.

Automated software testing

Enter automated software testing. While nothing can replace good human testers, broad test coverage requires some degree of software automation for it to be economically feasible. Automated testing tools can provide a considerable workforce multiplier and do an excellent job complimenting human testers. Every change to your website no matter how small requires thorough testing to ensure that nothing else was affected. This becomes very time consuming very quickly due to the large number of possible cases to test. A strategy whereby tests are automated using software becomes an economic necessity.

Functional and regression testing tools

There are two classes of automated testing tools. The first kind, functional and regression testing tools, helps to make sure that the website behaves as it should: for example if a customer clicks on button X, page Y is displayed without errors. Functional and regression testing tools can automate a large number of scenarios to ensure that your website works as intended. The second type, load testing tools gauge how well your site performs when subjected to significant stress, such as a large number of simultaneous users. I will be discussing load testing in a separate article.

I will now give you an overview of the essential characteristics of functional testing. Before you can begin any functional test automation, you will need to identify the test scenarios you wish to automate. Once this is done, you will need to generate test scripts that cover these scenarios.

A functional testing tool will typically record user interactions with a website. As you perform various operations on your site or application, the device marks every step. When you finish recording, it generates an automated script from your interactions with your website. Alternatively, you could use the tool to construct the scenario by hand. Typically testers tend to do a combination of the two. They will use the recorder to generate the necessary framework of their scripts and then tweak the scripts by hand to incorporate individual cases.

Scripts can be graphical and text-based. An excellent functional testing tool does not require users to have a programming background. Users not proficient in programming will work predominantly with graphical scripts. In most devices, graphical texts will typically show all interactions in a tree structure and users can edit any node of the tree to modify the script. Some users, however, who have programming backgrounds may wish to program their scripts. These users will typically work with a text script written in a standard language such as JavaScript or VBScript.

Once you have generated your script, you will need to insert checks in your scripts to test if your website is functioning correctly. Such checks are usually called checkpoints. A checkpoint verifies that values of property obtained when testing the website match expected costs. Inspections enable you to set the criteria for comparing expected values with obtained values. The expected value of a property is derived from recording interactions with the website. It is viewed and modified from checkpoints. The current value is retrieved during replay (i.e., during the execution of the test case).

Kinds of checkpoints

There are many different kinds of checkpoints. A page checkpoint verifies the source of a page or frame as well as its statistical properties. You can check for broken links, verify link URLs, image sources, the hierarchy of HTML tags or even the entire HTML source of the Web page or frame. You can also set thresholds for the loading time of a page. A text checkpoint verifies that a given text is displayed or is not displayed in a specified area on a web page. A web object checkpoint checks the properties of a web object, e.g., the value of an HTML INPUT field. A database checkpoint verifies the contents of a database used by your website.

When you replay a test script, the testing tool will open the recorded application and perform the documented steps in the same sequence they were specified in the text. As it replays the script, it will also run through all the checkpoints you have inserted into the script. Also, you can test the behavior of your application with varying data inputs. For example, you can try to submit a page after entering different values in the edit box of a web page. At the end of the replay, a detailed report is typically be generated.

Functional test automation allows you to automate the repetitive testing of a large number of scenarios across your website. Practical testing tools are an essential weapon in your development arsenal whose use provides a huge productivity gain and allows for small testing groups to accomplish significantly more work. There is an extreme economic case for Functional Testing Tools as part of the development and deployment cycle of a website.

WordPress as CMS

Can WordPress Be Used As A Content Management System?

WordPress

The default WordPress

There has been talking about using WordPress beyond the typical blog set-up, into the realms of a full-fledged content management system or CMS or even an application development framework. Yet, most people have no idea how this is even possible. I have to stress that the default WordPress software was intended to be a blogging tool, so if you’re trying to make it work like a different type of content management tool you’ll have to use the correct plugins (enhancements) and have a clear idea of what you want to achieve.

While the exact step-by-step method is out of the scope of this article, let’s explore some of the ways you can use WordPress, as I have personally done before.

1) WordPress as Business Directory

To make WordPress work as a business directory, you’ll need a special plugin and a source for the articles. The Business Directory Plugins is the perfect tool for this, as the business, there are usually human-approved.

Business Directory Plugin allows you to build a local directory, a directory of business providers, a Yellow-Pages style business directory, Yelp-like review sections, create a church directory, build an address book directory and much more. You can add any kind of directory using Business Directory plugin.

 

2) WordPress as a Membership Site

You can set-up a free or paid membership site using WordPress. All it takes is a few simple plugins to get the job done. Once you’ve installed the plugins, members will need to login to your site in order to view the content. You can also place a login form in your WordPress theme files to make it easy for users sign in and out of your membership site.

However, the plugins only create a simple membership system, so if you’re looking to create different membership levels and more advanced features, you’d probably want to sign-up with a professional membership system.

3) WordPress as a Classified Ads System

WordPress can work like any other classifieds website too. Users can sign-up on your site and place classifieds in the form of new blog posts. They can even set expiry dates for their ads and specify listings or “wanted” ads.

However, you will need to create all the necessary categories and even create a sign-up information page to teach your users how to place ads. The upside of using WordPress as a classifieds site is that you can also use tagging tactics to get traffic from social bookmarking sites.

4) WordPress as an Audio / Video Training Site

Using the membership plugins or WordPress compatibility plugins, you can create a membership site with WordPress. Then, all you need to do is to add the “Podcast or Videocast” plugin which takes care of all audio and video elements on your website.

You will be able to display and stream MP3 audio or FLV video using their built-in players. The Podcast plugin is really robust and allows you to specify setting on iTunes, so you can make this commercially and available to the entire iPod / iTunes community.

As you can see by now, there’s a lot of possibilities when it comes to using WordPress to the extreme. Every day brings new possibilities to using WordPress as a complex CMS instead of the modest blogging tool it was designed to be.

What About WordPress Plugins?

What About WordPress Plugins?

WordPress

Huge range of WordPress plugins

The function of WordPress has opened up endless possibilities recently, taking it to a new level no longer limited to a blog site. With a huge range of WordPress plugins already available, and many more being added constantly, website owners can put up custom designed pages in a few minutes with a little help.

WordPress plugins are scripts developed by various programmers to give users more options for their blog pages. For example, a WordPress plugin can be used to display recent comments, or as a spam prevention tool. WordPress templates are proving to be extremely popular for externally hosted websites, so having the ability to add more features makes the WordPress plugins a very handy source of free programming!

While many people set up WordPress blog pages to share personal and social stories, blogging has become an essential part of the marketing and promotion sector. With a separately hosted website, WordPress users can include advertising links or Adsense, and promote affiliate products. WordPress plugins provide excellent tools for customizing these types of sites, with add-ons in a wide range of categories including:

  • Adsense management
  • Advertisement rotator
  • Search engine optimization
  • User restrictions and password options
  • Visitor and click statistics
  • Search boxes
  • Tracking tools
  • Social bookmark tags

Since there are a large variety of WordPress plugins to suit all sorts of users, the level of expertise required to install some of these varies. You’ll need an understanding of FTP, and Zip files, and some knowledge of HTML. More advanced website owners can even develop their own plugins. A degree of PHP programming is required, and some WordPress plugins also use JavaScript or CHMOD to function properly.

A note about WordPress.com and WordPress.org

Although these two sites sound the same, the services offered by each one are different and this often causes confusion for people. The difference lies mainly in the hosting side of things. While a free WordPress blog will be hosted on WordPress.com, the themes and templates are limited and users are not allowed to include advertising or affiliate links. WordPress.org on the other hand requires you to have your own domain and hosting in place, but is a better option for advertising and marketing purposes, and this is where the WordPress plugins come into the equation!

Self-hosting website owners can make light work of designing their sites with WordPress plugins, creating unique personalized pages to attract their visitors!

How to Make Your WordPress Install Spam Proof

How to Make Your WordPress Install Spam Proof

WordPress

There will be spam

As long as there is Internet marketing, there will be spam. A lot of it comes from overseas, but some of it is from people who just don’t know any better. They learn to go about doing things the wrong way, and some of them can get into trouble, as with email spamming. But the people who spam blogs, are, by and large, just wasting their time.

Rather than waste valuable Internet marketing effort, people should do something much more effective like writing articles or posting on their own blogs. But some spend their money on “blog blasters,” which randomly spam blog comments throughout the blogging universe. What these people don’t realize is that they’ve wasted their money. But then, for every Internet marketing success story, there will be thousands of Internet marketing failures. People just don’t get it. Spamming WordPress blogs, at least, is a total waste of time.

Activate Akismet

WordPress blogs come with a plugin, already installed, called “Akismet,” and it will automatically pick out the spam comments and hold them for you until you delete them. It’s pretty efficient and catches about 90% of the spam comments that come in. To activate the plugin, click on the “Plugins” tab from your WordPress dashboard. You’ll see Akismet in a grey or green bar. If the bar is grey, you’ll need to activate the plugin so click on the link on the right-hand side that says, “Activate.”

API Key

To complete the process, you’ll need to get an API key from WordPress. This is a simple line of letters and numbers, and to get it, you just need to register with Word Press at http://wordpress.org. Once you’ve signed up, WordPress will email the API key to you. When you see it in your Inbox, go back to your blog and click on the Plugins tab again. To the far right, you’ll see “Akismet Configuration.” That will take you to a page that has an empty box for that API key. Fill it in and click “Update API Key.” Bang! No more spam.

Manage from your Dashboard

Now, you’ll have to monitor the spam, so go to “Manage,” from your Dashboard screen. You’ll then see that “Akismet Spam” link. When you see there are spam comments, if there are only a few, you can check to see that they’re all spam. If so, then, click on “Delete All!” and they’re gone. Before my blog had so many spam comments, I found some legitimate comments and could weed them out to be approved. Now, we get hundreds of spam comments every day, so they’re just all deleted. Anyone wanting to spam my Internet marketing blog is out of luck.

If you have a blog, you need that spam control. So, it’s not enough to just activate the spam filter. You have to approve your comments. From the WordPress dashboard, click on “Options,” and then “Discussion.” Set your preference to: “An administrator must approve the comment.” Then, you’ll be able to see every comment before it hits your blog. Akismet is a great blocker, but not 100%.

Akismet will handle most of the problem. When your blog is new, you may not have much spam, but once it hits the search engines, you’ll see it grow daily. Akismet is one great way to control this quickly and easily. Let someone else waste their Internet marketing time on stupid tricks. You won’t have to.