Category: Blog

Learning Web Development

If you want to learn web development with the goal of working in the field, what is the most effective, cost effective and efficient way to learn? There are so many different terms and jargon: “Vagrant”, “Sublime Text”, “Git”, “Accessibility”, “Apache”, “node.js”, etc. What are they? How do they all fit together? What are they used for? Not only that, there are so many different approaches to learning: books, online programming schools, traditional college/university, local workshops. There are so many different Meet ups and web conferences to go to as well. Ahhh!! Where does one start learning everything?

There is far too much out there to digest it all. It is easy to get pulled in many directions and make no progress towards your goal. It is important to pick a specific specialization and work backwards, choosing what tools and technologies to learn to get you there. This might be:

  • become a WordPress developer
  • become an iOS developer
  • become a Ruby developer
  • etc..

Choosing what not to learn is just as important as choosing what to learn. Trying to do too much and arbitrarily learn individual skills will spread yourself too thin, making yourself ineffective in all areas. It is very uncommon for someone to be an expert WordPress developer, Drupal developer, Ruby developer, database architect, and graphic designer. WordPress for example, is a very complex platform with many components to it. Many WordPress experts haven’t even touched all that is has to offer. The same goes for other flavours of web development. It is much more common to have a sliding scale of skills in related areas that complement one another.

If you focus on completing your project (whether it be a course assignment or personal project) you will naturally learn what you need to learn. You can build off of previous projects, integrating more advanced tools and technologies as you progress.


Learning in the Wrong Order

If you are new to web development and you jump in trying to build a project with Vagrant, staging and production servers, and proper unit testing you will likely be lost. It will be such a high learning curve learning that you may never make any progress. Take smaller steps and work up to using more advanced techniques and tools. One’s evolution could look something like:

  1. Creating a WordPress website with a custom theme, using a basic code editor with FTP and a basic web hosting service
  2. Introducing WAMP or MAMP into your workflow with Sublime Text as a more advanced code editor
  3. Introducing gulp.js with a Sass compiler while getting familiar with the command line
  4. Introducing GIT into your workflow
  5. Replacing WAMP or MAMP with Vagrant for local development


Focus on Practice, not Conferences and Presentations

Web conferences and presentations should supplement your own work by learning what other’s are working on and seeing how they have done things. It should not be your main focus or the only thing you do in your efforts to learn web development. There are many people who go to endless web conferences or passively watch web presentations. They never sit down and implement what they have learned. This results in very slow or no real progress in skill and knowledge development.

On the contrary, it is not good to completely isolate yourself and only work on your projects. You may be missing out on learning newer, better ways to perform a task or solve a problem. You can miss the opportunity to connect with others who can help you. Learning from others is very important in web, as new tools and technologies emerge on an almost monthly basis. There is no way you can keep up to date on your own. Your own practice is the steak and conferences/presentations are the spice, not the other way around.


Learning Options

Taking some sort of structured course is the best way to start off learning web development. It keeps your learning and progress on track. There are lots of options available today:


Most universities offer degrees in computer science. The programming knowledge learned in a computer science degree can be applied to all sorts of areas, including web development. There is an emphasis on programming involving advanced algorithms and mathematics, which might not be needed, depending on what specific area of web development you want to work in.

If you want to work with HTML, CSS, JavaScript, PHP and WordPress, you may find a computer science degree doesn’t quite ‘hit the nail on the head’ in terms of what you will be learning. It is likely not the best approach if this is what you want to do.

But regardless of what field of web development you would like to work in, I don’t feel a university education in computer science is absolutely needed. It can be useful, but is also quite expensive as well. There are many people who have educated themselves through other means and are very successful.


Many colleges have good programs in web development. You won’t learn all the advanced algorithms and math as you would in a university program so the course content is different. There is an emphasis on web technology and in many cases instructors are more knowledgeable about web and modern best practices compared to a computer science program.

(Here in Canada we differentiate between College and University)

Online Resources

There are many excellent online coding schools and programs available today. Some of the more popular ones are:

These resources can include videos and interactive projects in the course material. This allows you to learn by doing. If you are more of a hands on learner, and sitting in a classroom or lecture hall isn’t your thing this might be a good choice. You can learn at your own pace since the lessons are pre recorded. The instructors in the video are usually experts in their field as well. The cost is very too low too, in the tens of dollars per month range.

Web Workshops

There are likely some web technology workshops offered nearby if you live in a major city. These web technology workshops allow you to receive instruction in person with peers similar to you. The instructors are very knowledgeable and the prices are very reasonable as well. The largest reputable organization (in Canada) that offers web workshops, with a focus on web development would be


Your Own Project

After being able to complete some of the projects in one or more of the various education mediums previously mentioned, it is time to branch out and create your own. You may have learned about HTML, CSS, WordPress, FTP, etc. It is now time to start applying all what you have learned in a single project. After learning from different sources you may notice different ways of doing things. You will find a preferences as to how you like to organize your work and tools you like to use. You have learned from the experts, but now you get to do your project your way.

A good idea would be to create a personal project with a purpose. Maybe you have an idea for a WordPress plugin or have a charity in your area that need some web work done. This will help you follow through to completion.


A Big Obstacle is Going to be Yourself

It can be hard to discipline yourself to work on your own stuff. You have no boss to put pressure on you and you have no real deadlines. Focusing on spending a set amount of time on your web stuff can help if this task seems daunting. If you have decided you will work 1 hour each day that is all you need to focus on, not on how long it will take to finish.

Companies want people who can learn on their own and get things done. If you can demonstrate this and truly love the work you do, you can look forward to happy and rewarding career in web development.

Web Enhancement Tunnel Vision

Having a well designed website can be a great enhancement to any business. Well maintained social media platforms can make it easy to spread the latest news too. SEO (search engine optimization) makes it easier for people to find your website. There are always things to add or enhance for your online business presence. It is important not to get swept away with all that the web has to offer and lose sight of what really makes your business successful. It is important not to get WETV – Web Enhancement Tunnel Vision.

Let’s take a look at an imaginary business “Jamaica Winter Clothing Inc.” (JWC) to see how it’s possible to get WETV. JWC sells winter clothing and accessories and are located in Jamaica. They have an online store that ships within the country as well as a ’brick and mortar’ store. Here are the main endeavours the owners are pursuing overall to increase sales:

A/B testing to optimize add on sales in checkout process
Experimenting with different callout language/displays to see what works best in generating the most sales.

Fine tuning of SEO
Trying to rank high for search terms like “jamaica clothing”, and “winter clothing jamaica”.

Emphasis on keeping social profiles up to date
A lot of time is spent staying active and posting new content on various social media platforms.

Always be sure to periodically take a thorough look at your business without the noise of web technology. Something critical may be overlooked, keeping your business locked in a certain tier of success or sliding away from success. A well designed website, A/B testing, SEO, and social media profiles won’t fix fundamental business problems. As you could probably tell right away, JWC has a major problem with it’s business: No one wants to buy winter clothing in Jamaica!

Now JWC is an extreme, imaginary example but maybe there are some adjustments you can make to your business outside of the world of web that can have a huge impact. Take a look at some possible examples:

  • A store (either online or ‘brick and mortar’) or restaurant has rude or unfriendly staff, driving away customers
  • A business sells software but is unaware that it does not work on certain devices, or certain versions of devices
  • The products/services a business sells are of poor quality/value compared to competitors

A solid web and social media presence can be an excellent ‘cherry on top’ of your business sundae, but it is important not to forget the core reason why people would want to do business with you.

Admin Code Editor

In many of the recent projects I worked on, I had a need for a customized, specialized, interactive component within the post. I needed custom HTML, CSS, and JavaScript to achieve this. But, if you have ever tried to write code in the WordPress content editor you have likely found it is a difficult and frustrating process. This is not unexpected. The content editor was designed to allow users to enter and style content without (or very minimal) touching of any code. It was not intended to be a code editor. You can end up with random

tags in your code, no code highlighting or tab indenting, just to name a few of the limitations.

Some may argue that code of this nature belongs in the theme files. There are a couple reasons why I took this approach rather than integrating the code into the theme files:

I felt making a custom template within the theme was overkill
would also involve integrating the post specific css/js into the theme files, would clutter the repo and files with files only relevant to that post
In general, it is good practice to separate site content with theme files. I feel that even though we are working with HTML, CSS, JS, it really is more content than ‘theme files’, so it is appropriate to include it within WordPress database rather than theme files

As with all of my plugins, I had a problem to be solved so I created a solution. I thought this solution might be useful to others so you can checkout the public plugin at You’ll find more detailed information there as well.

Custom Ratings

There are some great rating plugins out there in the WordPress universe. All of them have their own approach to allowing users to rate a post, comment or other content type. I had a need for a plugin which added a rating interface in a more light weight and streamlined way.  Custom Ratings was created to fill this need.

As usual, you can find this in the WordPress plugin repository and read a more detailed description on the plugin page:

Notes Widget Wrapper

WP Notes Widget is great at organizing ‘note’ content and displaying it in a standardized way on the front end. However, based on the feedback from WP Notes Widget there was an interest in applying the ‘note’ front end styling in a more flexible way.  Notes Widget Wrapper was created to achieve this. This plugin works very differently than WP Notes Widget. It gives you the freedom and ability to style any WordPress widget with the note styling. It does not confine your content to a rigid structure.

You can find this in the WordPress plugin repository or download it directly from You can read a longer description about the plugin there too.

WP Notes Widget

I created the WP Notes Widget WordPress plugin because I found quite often I had information I wanted to express on a website, but it did not really ‘fit’ in a post or page for a few reasons:

  • the length of the content content was very short
  • the nature of the content was very important and often time sensitive, so it needed to be displayed prominently
  • only relevant in the near future, no need to keep an archive since the information won’t be useful later

The plugin allows you to present this content in a ‘sticky note’ styling on the front end, which fits nicely with the nature of the content. I could see other website creators/manager most likely had this problem too, so I released it publicly. This was released a few years ago and I have made several updates since then.

You can find this in the WordPress plugin repository or download it directly from You can read a longer description about the plugin there too.

Resurrection of!

It has been a while!

About a year and a half ago Web Rockstar informally came to and end after accepting an awesome web developer opportunity for an organization. The site has lay dormant since then…

I have been working on several new WordPress plugins and updating the existing ones. I needed a central place to discuss and feature them and thought would be perfect to serve this new purpose.

Web technologies and standards have changed a lot since the design of the old Stay tuned as improvements and features are added to the site.

Newly Launched WordPress Plugin: WP Notes Widget

In the past, most plugins that have been made were project specific. WP Notes Widget is the first publicly available plugin which can be downloaded from the WordPress plugin repository.  You can check it out at Here is the description taken from the plugin page:

Posts and pages have their own characteristics and uses, but sometimes there is a need to display important, very short, time sensitive information which don’t really fit into a post or page. WP Notes Widget fills this gap. The visual design is similar to real sticky notes which adds to the effective communication of the message.

WP Notes Widget is built with WordPress Plugin Boilerplate.



Anomalies in Modern Web Philisposies

Thinking of a new website or web application? Well, you are going to need a great visual design, a carefully planned interface, a solid social media presence, as well as many other considerations. This is usually the mindset many people enter when undertaking a new web project. To be honest, in most cases this is the approach I would take as well. The problem with this is that this paradigm can break in the real world when your website or web application is launched and “out in the wild” where it is subject to all sorts of factors and rules. Some web based companies utterly and completely defy these rules yet are still incredibly successful. What is going on here? Let’s examine a couple examples:


Craigslist (

According to Wikipedia:

Craigslist is a classified advertisements website with sections devoted to jobs, housing, personals, for sale, items wanted, services, community, gigs, résumés, and discussion forums.

Craigslist is an incredibly popular website. It is currently ranked 49th in the world for web traffic and 10th in the United States (for the variation) according to Alexa rankings (  There are several things interesting about this site. The most noticeable is the design (or lack there of 🙂 ). This site breaks many (if not all) current rules for best design and usability practices, yet is still very successful. It does not even have a tablet or phone view for their website. Let’s take a look at some of the details:

  • Although there are usability issues which could be improved upon with Craigslist, they are not so drastic such that people are willing to completely switch over to Kijiji or similar services.
  • Craigslist has a personal, honest feel about it’s brand which people like
  • The site functions properly, and users get results. They don’t care too much about looks. This is the equivalent of using an old text book to prop up an uneven TV stand. Or perhaps a really good ethnic restaurant which serves great food, but has very dingy, outdated decor
  • People use Craigslist because they want to sell something or put up a listing of some sort.  They want the most exposure with the least amount of effort. It would be much more effort for users to post on several other less popular ‘Craigslist copycat’ sites then it would to do so just on Stepping outside of the scope of single site usability steps to complete a task, posting on Craigslist is actually simpler and faster. Although users may need to overcome some minor usability hurdles in a few areas, it is still easier and less steps than having to set up a posting on several other less popular websites, even though individually the process for posting is more usable and streamlined on these other sites.

In a previous post I mentioned how Facebook essentially copied MySpace’s concept, cleaned up the conceptual, and usability problems and then stole their entire market. This is a different scenario here, a different phenomenon is going on. The flaws with MySpace were very foundational. The flaws with Craiglist are very minor. Regardless of how many new copy cat Craigslist sites sprout up, it will be very difficult to push Craigslist out of being at the top (or close to the top). It is kind of like a Toaster or Kettle. I think these appliances have reached the peak of their evolution. Any additional features or changes won’t increase the overall effectiveness or value, and cause consumers to switch to a new model.

Craigslist breaks the rules of social media as well. Their Facebook page is featured nowhere on their website. They have a Twitter account as well. This too is featured nowhere on their website and has not been updated since 2010.


Plenty of Fish (

According to Wikipedia:

PlentyOfFish (POF) is an online dating service, popular primarily in Canada, the United Kingdom, Ireland, Australia, Brazil[3] and the United States.

Plenty of Fish is in the same ballpark as Craigslist when is comes to visual design and usability.  Although it has improved in recent years, for a long time it had a very amateurish design and broke many usability rules. It had these qualities while simultaneously owning the number one spot in various statistics such as most popular dating site world wide.   What is going on here? Again, a similar phenomenon to Craigslist is happening:

  • Personal, honest feel about it’s brand, people like this. They are not trying to sell you anything or trick you into signing up. It is simply a place to meet people online
  • People like free stuff! Other dating sites were offering the same features POF were offering when the service first launched, but competitors were charging money for it. So although POF was not the first dating site out there, the fact that they offered equivalent services for free was enough to sway many users to switch over from other similar sites
  • The product POF sells is it’s customers. So as more and more people sign up, the value of posting a profile on the website increases. The more people that sign up means more potential people to connect with, which is where users find value in the service. This momentum builds exponentially

The value users receive from the overall service of POF far outweigh the visual design and usability flaws.  Many users are still willing to stick with POF even though many other online dating services exist today with a much nicer design and cleaner admin controls. POF has the huge bank of potential people to meet which is ultimately what users value most in an online dating service. It will be very difficult for another company to take this away from them, at least in POF’s demographic and market areas.

Again, similar to Craigslist, POF breaks the rules of social media as well. Although they do have a Facebook page and Twitter feed, it is featured nowhere on the site. If users want to connect with them on these platforms, they need to seek them out through other means.



Although breaking these rules works for Craigslist and POF, and perhaps a few others, almost all other websites do not have this luxury. In order to break these rules your website must meet the following requirements:

  • it still needs an acceptable levels of usability
  • the concept of the web application must be sound
  • the users find the main value of the website in the content the website creates (typically created by users themselves)
  • the nature of the website creates a momentum effect such that the more users/visitors there are, the more value there is for users to create content

Only social based services which involve connecting with other people in some way can get away with breaking these rules. Services like MailChimp, Freshbooks, Wix, or Survey Monkey can’t get away with this. With social connection based web applications, the core value is in the content (learning about what others have posted, or created, in some way, shape, or form).  Users are willing to tolerate sub par visual design and usability in these cases. While non social connection based web applications have their core value in the functionality, features, and the price of their service.

Using Persuasive Technology to Address Energy Consumption

When doing some computer house keeping a few weeks ago, I noticed I had many documents and reports related to persuasive technology and social psychology concepts in web applications.  Rather than lay dormant on my hard drive in .docx files, I figured it would be more useful to share these ideas with others.  People can expand on these ideas, adjust them, and perhaps move forward with them. I have adjusted this document to use less technical jargon and make it more suited for a blog.

The first idea in this series of blog posts is on the topic of energy consumption. The project explains how features of a web portal can be used to invoke behavior change through utilizing concepts in social psychology and persuasive technology.  If you are not familiar with what a web portal is, you have likely already used a web portal before but are simply unfamiliar with the definition. A web portal is essentially a specialized website which requires a login and usually features a ‘dashboard’ of various modules displaying different types of information pertaining to the logged in user. The administration area of a content management system, online banking, even the Facebook home page can be considered a type of web portal.

This conceptual web portal will be for hydro (or electric energy) customers to login, pay bills, see account information, and see all the information discussed in this post. Various modules (think ‘sidebar boxes’ or sections of a webpage ) of this conceptual web portal will be crafted to have the ultimate goal of reducing energy consumption through behavior change. To explain more on what a module is, we can continue with the Facebook analogy; you can think of the events, messages, and news feed components of the Facebook home page as modules.

I have summarized how the different modules will work. Each has their own dynamics and characteristics as to how to address the issue of electric energy conservation in the house hold. A few notes about the following examples:

  • When the examples are referring to houses or households, it really mean houses, apartments, or condos.
  • The term API is used frequently. Learn what an API is here.
  • For simplicity sake, when the term energy consumption is used it is referring to electric energy consumption in these examples.
  • Some graphical interface concepts are used in the examples. For an real life implementation of these ideas the layout, font, colours, and controls will be refined and adjusted.


Creation of In-Group and Out-Group Dynamics

If you are familiar with social psychology or sociology, you are likely familiar with the concepts of in-groups and out-groups. Rather than explain that here, I think this page does a good job explaining the concept.  The preceding link explains what happens to people’s behavior when they perceive themselves to be members of a team.  This involves segmenting groups of houses in the energy service jurisdiction into areas. This module will display the following information:

  • top 5 consumers of area in area
  • bottom 5 consumers of area in area
  • placement of area in hydro company jurisdiction
  • progression/regression of progress from month to month of household and area

By segmenting houses into areas, it creates group dynamics and can create a feeling of ‘conforming to the group norm of conserving energy’ in it’s members. This can make people feel like they need to do this or they will be letting the group down. By displaying the rank of each area it can create an element of competition between groups. In order for individuals to maintain positive social perception within their area, they may try to reduce their consumption. Otherwise they may feel that they are ‘dragging the group down’ and possibly be perceived negatively.   Just take a look at the importance of group dynamics in World of Warcraft to understand the importance of group dynamics in the online world.

A prize for top performing individual or area can also be introduced; some game mechanics from Four Square can be borrowed. In Four Square badges are awarded for performing certain tasks.  Awards can be presented for most improved individual, being the most efficient area in a month, etc. The concept of being a ‘mayor’ can be borrowed and adapted.

This is a simple example of how the information in this module could be displayed. This does not show all of the intended information, but does communicate the overall concept.


Issues to Discuss and Comments:

One issues is how to make this new in-group salient in people (we are area 2B and we conserve energy!).  One possible solution is to introduce team flags or logos, similar to a local sports team. If the Ottawa Senators or Toronto Maple Leafs were called ‘NHL team 4G’ and ‘NHL team 6H’ they likely would not have the same following they currently have.


Public Information

When people are aware that they are identifiable or that certain information about them will be made public, these people may alter their behavior to ensure they will be perceived positively by significant others (not necessarily in a romantic sense, but people that are important to that individual).  By making the energy usage of households publicly available, it can influence them to to conserve more. They may not want to be viewed as wasteful or over consumers, or too lazy to put in the effort to conserve.

To display this information, this module can integrate with the Google Maps API to display the information and make it easy to determine the location of houses.

This screenshot show the concept of what the interface could look like. The actual information, and how it is presented can be altered and adjusted for real life implementation.

Issues to Discuss and Comments

There could be potential privacy issues of making energy usage of households public.



Anonymous Messaging

Households can send other houses in their area anonymous messages regarding their energy consumption. They can praise them for their improvement or sustained conservation efforts while ‘prodding’ for improvement from the highest consumers.  The public information module previously discussed can give the information necessary to engage in discourse with another household. This will function very similarly to the Facebook messaging system.

Issues to discuss

This module does have the potential for abuse and can perhaps, be too extreme altogether due to the fear and paranoia in can create. There are all sorts of people and personalities out in the world. Take this possible message that could be sent:

Hi, I noticed you are using a lot of energy, can you conserve a bit more? By the way, I like what you have done with your front garden. Looks great! Would be a shame if something happened to it. Take care, I hope next month we can all do better with our conservation efforts.

When people perceive their actions to be anonymous or untraceable to their real life person (such as in large crowds at stadiums for sporting events or online on comment sections) their behavior can become very abusive or hostile.  Take a look at mob mentality and online flaming for more information.  Although not exactly the same, they do share similar characteristics.

Overall this module can be quite powerful. It can be quite unsettling to know someone in your neighbourhood disapproves of your energy consumption but you don’t know who! But, for ethical reasons this may not be appropriate altogether to try and induce behavior change through fear and paranoia.



Add on Sales When Paying Bill

If you have read the book ‘Persuasive Technology’ by BJ Fogg you will be familiar with the Kairos factor.  This involves trying to invoke an action in someone at an opportune time, when they are most willing.  A similar concept also exists in sales and this is known as ‘up selling’. I think up selling can be ethical and genuine if done in the right way. If a sales person is honestly suggesting an additional product or service the customer may find useful, I see no problem with this.  A module can be added to the web portal which provokes the purchasing of energy efficient products or services using the Kairos factor combined with the traditional ‘call to action’ in websites.  The context of this module creates the opportune time to make these suggestions because:

  • The user is already logged in to the portal, possibly already pursuing the task of paying their energy bill, credit card may already be out
  • By seeing the information presented in the other modules, they could have negative feelings about their current consumption levels

The suggestions themselves can include:

  • scheduling of  a representative to stop by their home and asses efficiency
  • offer discount on energy efficient appliances if a deposit is purchased at that moment

The end result of the module could look something like this:


caption here
I am not sure if this service already exists, but presenting this ‘call to action’ within this context can be very powerful.


This module also introduced to possibility of partnering with appliances manufacturers and retailer to streamline how this process works.


Issues to Discuss and Comments

If individuals pay their energy bill directly from their online banking account, they may not be viewing the module at the right time, which is not ideal to take advantage of the Kairos factor.



Public Goal Setting

By publicly broadcasting a goal it makes us more likely to follow through with it. Plus, we avoid the consequence of of being perceived negatively from our peers. If we do not follow through, we will appear inconsistent with our intentions.  This module will involve goal setting, and the broadcasting of these goals to their area (and possibly beyond this portal, broadcast on Facebook and Twitter with their APIs?).  This module will also feature email reminders periodically during month to state the status of their goal and how close they are to going over their goal.  This will be similar to monitoring how much bandwidth you are using with household internet use. The following points explains the steps as to how this module will work:

  1. The user sets a goal for their monthly energy consumption targets
  2. The user receives weekly email reminders regarding the state of their energy consumption
  3. At the end of the month the system determines whether they have reached their target or not and broadcasts the appropriate message to others in their area
  4. As mentioned in the first module, a virtual award or prize can be given if the target is met

Issues to Discuss and Comments

The module can be adjusted to borrow ideas and concepts from existing weight loss and heath goal, or charity and fundraising web applications.



All of these modules can be used, in their own way, to create behavior change.  When they are used in combination they can have the overall maximum effect. The pros and cons of each module have been discussed but one overarching factor is the dynamics within the household. The people and mandatory energy requirements can vary greatly within a household. Some examples are:

  • full house with 2 adults 3 kids
  • 2 adults, kids are away at school
  • 1 adult, kids away at school
  • single apartment, person travels a lot for work
  • single apartment, person works from a home office
  • perhaps due to someone’s hobbies, medical conditions, or work, they require devices which use a lot of energy

As we can see, the amount of energy consumption in all of these scenarios will vary greatly.  Perhaps it is a good idea to segment households into ‘leagues’ in order to make the competition aspect among the areas more fair.


Final Thoughts

In most cases, any company that builds web applications needs to ensure it has been analyzed from a psychological perspective if it is to be successful.  As the web evolves, more disciplines become facets in successful web projects. Persuasive technology and social psychology is one of the more recent facets to be added.

Do you remember Facebook in it’s early years? It’s main competitor was MySpace. Both web portals had very similar technical requirements and on the surface, appeared to offer largely the same service. However, Facebook understood the social psychology as to why  people were doing certain actions and what motivated them to do so. The features and components of Facebook revolved around this.  In addition, Facebook cleaned up the majority of user experience problems that MySpace had. The end result: Facebook stole MySpace’s (almost) entire market from under their nose.

Leveraging persuasive technology and social psychology in web applications and web portals can be very powerful. In the examples discussed, it can also be used to create positive behavior change in the world.