The Psychology of UIX -- Background Colors for web pages
I get a newsletter from the Brain Lady -- a psychologist named Susan Weinschenk who has built an industry around the psychology of the human brain applied to web design. I really applaud people who can build significant online revenue streams by leveraging their skills. She is a speaker, obviously in demand because she has upcoming seminars all around the US and London.
One of the concerns that I have about the information that she promulgates is that she takes psychological studies on the human brain and preaches a 1:1 correlation between a literature review and web design without actually having tested it in real life. For example, she in one article, she said that the human brain is more comfortable with less choices than more and menu items should optimally have between four and seven choices. Yet when we wireframe some complex web apps, this is either impossible, or test subjects want more choices to do the tasks that they want and they want those menu choices to be highly explicit.
All this to say, is that the brain information is very interesting, but it all can't be applied uncritically to web design on a 1:1 basis.
Her latest newsletter had the following information about the color of backgrounds.
I came across some interesting research from Mehta and Zhu about red vs. blue background color for screens.
If you are using a negative or fear message it will be more impactful if you use the color red. If you are using a positive message then use blue.
If you want people to do a detail-oriented task use a red background. If you want them to be creative use a blue background.
If you are highlighting detailed features of a product your message will be more persuasive if you use a red background. If you are highlighting concepts of how to use the product then the message will be more persuasive with a blue background.
People prefer blue backgrounds over red, even though red might make them get a task done more quickly. They are not aware of the effects that the colors are having.
Ravi Mehta and Rui (Juliet) Zhu. Blue or Red? Exploring the Effect of Color on Cognitive Task Performances. Sauder School of Business, University of British Columbia, 2053 Main Mall, Vancouver, BC V6T 1Z2, Canada. www.sciencexpress.org / 5 February 2009 / Page 1 / 10.1126/science.1169144
I hope this helps and if someone uses this information, I would appreciate some feedback. Thanks.
PHP on Tomcat with JSPs
First of all, in spite of the fact that the world runs on LAMPS (Linux, Apache, MySQL, PHP, SQL), I really dislike PHP or Python. They are sort of pseudo-Object Oriented and do not have the power of J2EE where one can integrate pure Java classes with JSPs. My preferred approach is LAMJS where J is JSP or Java. Our webserver is Apache Tomcat.
At any rate, we have a rang-dang-doo enterprise app written with Java, JSP, ServerFaces, and all of the good stuff. Our business requirements say that we have to have a blog and a newsletter and a marketing side to our enterprise app. We only have so many developers and we believe in the AGILE approach with continuous iteration and working software. So to put the marketing side in place, we decided not to re-invent the wheel. Wordpress has templates galore and all of the features that we need. Wordpress is written in PHP and uses PHP, so we have to make Tomcat play with JSPs and PHP. It was a hair-pulling experience.
The first thought was to use JavaBridge and JavaBridge.jar. We kept getting this stack trace:
Fatal Error: Failed to start PHP ["php-cgi", "-v"], reason: java.io.IOException: Cannot run program ""php-cgi"" (in directory "C:\Users\Delon"): CreateProcess error=2, The system cannot find the file specified
Could not start FCGI server: java.io.IOException: PHP not found. Please install php-cgi. PHP test command was: [php-cgi, -v]
php.java.bridge.http. FCGIConnectException: Could not connect to server
at php.java.bridge.http. NPChannelFactory.test( NPChannelFactory.java:64)
at php.java.bridge.http. FCGIConnectionPool.<init>( FCGIConnectionPool.java:175)
at php.java.bridge.http. FCGIConnectionPool.<init>( FCGIConnectionPool.java:189)
at php.java.servlet. ContextLoaderListener. createConnectionPool( ContextLoaderListener.java: 541)
at php.java.servlet. ContextLoaderListener. contextInitialized( ContextLoaderListener.java: 185)
at org.apache.catalina.core. StandardContext.listenerStart( StandardContext.java:4791)
at org.apache.catalina.core. StandardContext.startInternal( StandardContext.java:5285)
at org.apache.catalina.util. LifecycleBase.start( LifecycleBase.java:150)
at org.apache.catalina.core. ContainerBase$StartChild.call( ContainerBase.java:1559)
at org.apache.catalina.core. ContainerBase$StartChild.call( ContainerBase.java:1549)
at java.util.concurrent. FutureTask$Sync.innerRun( Unknown Source)
at java.util.concurrent. FutureTask.run(Unknown Source)
at java.util.concurrent. ThreadPoolExecutor.runWorker( Unknown Source)
at java.util.concurrent. ThreadPoolExecutor$Worker.run( Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: File \\.\pipe\C:\Program Files\Apache Software Foundation\Tomcat 7.0\temp\ JavaBridge3030620009245189355. socket not writable
at php.java.bridge.http. FCGIConnectException.<init>( FCGIConnectException.java:37)
... 15 more
Caused by: java.io.IOException: PHP not found. Please install php-cgi. PHP test command was: [php-cgi, -v]
at php.java.bridge.Util$Process. start(Util.java:1145)
at php.java.servlet.fastcgi. FCGIProcess.start(FCGIProcess. java:68)
at php.java.bridge.http. NPChannelFactory.doBind( NPChannelFactory.java:94)
at php.java.bridge.http. FCGIConnectionFactory.runFcgi( FCGIConnectionFactory.java:88)
at php.java.bridge.http. FCGIConnectionFactory$1.run( FCGIConnectionFactory.java: 109)
Obviously we hadn't configured Tomcat to find the PHP executables which were supposed to be in the .war file. We tried various things like trying to install PHP on Windows (our dev machines are Windows, but our production and test servers are Linux), all to no avail. We found plenty of instructions on how to show Apache how to find the PHP executables, but none for Tomcat.
I was really looking for a plug and play solution, and I found it with Caucho and their Quercus war file. I simply downloaded the war file, and took a copy of it. I changed the copy's .war extension to a .zip extension and unzipped it. I took the resultant folder and dropped it into our webapps folder where Tomcat could find it and it worked first time. Someone ought to preserve their blood for posterity. You too can make PHP play with Tomcat by downloading the war file from here: http://quercus.caucho.com/
Thank you Caucho and Quercus where ever you are.
Google's Changes to SEO
Google's Summer Changes to online business rankings
Matt Cutts, a Google engineer, outlined the upcoming changes this summer. Here is a summary.
This summer, Google hopes to put another few nails in the coffin of Black Hat SEO (Search Engine Optimization) practitioners, while rewarding White Hat webmasters. All website have a natural or an unpaid ranking. That ranking is responsible for where the page shows up in search results. Black Hat SEO practitioners use dubious techniques that offer short term results. These techniques often raise the ire of Google and other search engines, and the websites that they manipulate, can be eventually banned from search results, confining them to the dark recesses of the internet where nobody goes. White Hat practitioners on the other hand, do positive things that organically grows traffic to the website and has lasting effects on web traffic.
In May of 2013, Matt Cutts of Google outlined some of the changes that Google is implementing to its search algorithms. First and foremost among the changes, they will reward the White Hat techniques. Their algorithms are designed to recognize compelling, high quality web sites. Google will introduce search methodologies that detect and recognize authority, and reward those web sites with higher page ranking. It doesn't matter what you are an authority on, if you consistently deliver good information (measure by many things including how long a person is on the website), then Google will reward you with higher page rankings.
The Black Hats will be punished. They have two tools called Panda and Penguin. Penguin detects sites that spam, or put viruses and malware on your computer. Penguin already has had an update, and will be further enhanced. Penguin will now detect spam links. If you go around putting links on every forum or where ever you are allowed to post, with no regard to actually contributing to that site (like comments in a forum), not only will you be ignored, but you might invoke the wrath of Google and be banned from search results.
Panda detects thin sites that try to improve page ranking with material from other websites. If you have a business website that harvests material in your area of business and re-posts it, you will be punished with a lower page rank. You are better off to link to it. However, Panda will have new link analysis, so that if you are genuinely trying to help people find other information, you will not be considered a marginal site and your page rankings may improve.
Hackers will often hack a genuine business website, and add a link to load malware, viruses or spam on your computer when you visit that site. The original site webmaster may be unaware that it has happened. Google will provide tools to help webmasters clean up and avoid hacking on their sites. The webmasters will be offered a set of tools to help businesses create and maintain high quality web sites.
If Google succeeds this summer, the advertorial will be dead. Advertorials are web pages designed to look like content but are paid advertisements. There will be no punishment if there is clear and conspicuous disclosure that the content is paid for. Businesses would be better off by not paying for SEO, and creating sites where they offer good information, expert advice, compelling graphics and engaging content.
In terms of the user experience, the enhance Google of the summer of 2013 will provide cleaner search results. Often times for a very esoteric topic, one will find search results clusters from just one domain. These are frustrating, and Google is working on enhancing that aspect, as well as their overall Page Rank algorithm to provide contextually correct search results. So as a user, expect to see a lot less spam, and a lot more authorative search results.
Protecting yourself from government spying
Well, apparently NSA leaker Edward Snowdon has more startling revelations. Among them, is that there are back doors in common programs that we use everyday. Skype is the prime suspect. However, because of its ubiquity, I wouldn't trust Google either. And since Microsoft owns Skype, well it has been proven that you can't trust them.
So what's the answer? As far as I am concerned, it is open source. Who knows if the name of the document is reported back to Microsoft when Word or Excel crashes. Open Office springs to mind as an alternative to being spied on.
What about communications? It looks like the best bet for email, is an account with your local ISP. I know that it is a pain every time that you change providers, but they probably are not being listened to.
Encrypted email solutions often don't encrypt the meta-data, so sometimes it is easier to hide in plain sight. Open a web based email account. Write a draft and save it. Then make sure that the recipient gets the log-in credentials, and logs in to read the draft and deletes it. This avoids the SMTP filters.
I'm willing to bet that a whole plethora of private solutions will spring up to protect people from governments spying on them.
Vimeo - Another Dead Man Walking
Here's another fearless prediction. Vimeo, the video hosting site won't be around for long. Quite frankly, Vimeo sucks. Their upload time is horrendous. Their processing time is over half an hour. They say that you can pay to get to the front of the line. They act as if it is 1999 and disk and storage space is expensive, and bandwidth is to be hoarded. Their revenue stream is so early internet. They are carving steaks off their race horses with their program. Jeepers, compared to Youtube, I can't find one value proposition that Vimeo delivers on. Another dead man walking in the tech world.
Monetizing Your Content - How Much Money Do You Make From Youtube
I monetize my digital content. I would be a fool not too. This includes my videos on Youtube. I participate in Google's Adsense programs. This works out well, because Google owns Youtube. So how much money do I make on Youtube?
Here are my metrics. I make exactly half a cent per minute of videos watched. Two minutes of viewing makes me one cent. To make a dollar, I need 200 minutes of viewing time with monetized ads. I need 40 views of a five minute video to make a dollar. My most popular video has 12,765 views. It is 10 seconds long. That's 2,127 minutes of view. That video has made me $10.64 cents in ad revenue. Not exactly a get-rich-quick scheme. Obviously the trick is to upload as many videos as possible.
Best PDF to Word Online Converter
I had this pdf from a few years ago. I had lost the original MSWord document, and I wanted to change it. I went online and Googled a pile of online services. One asked me if I wanted to make my document public. Not trusting them, I moved on. Another accepted my document, and said that I was 5,500 in the queue and it went down by one every couple of minutes. I cancelled that job. I went to another one, and it sent me a conversion into my email box. However it was just an image pasted into an MSWord document, and I couldn't edit it.
I came to the conclusion that I needed my PDF scanned with OCR or Optical Character Recognition. The first one that came up in the search was www.scannedpdftoword.com . Note: This is not pdftoword.com which I didn't like. It had the word "scanned" in the URL.
Bingo. This was it. It promptly sent back an MSWord doc that I could edit. They sell a desktop version as well. I was totally pleased with the result. There was a spelling error or two, but the error was consistent. I would heartily recommend their product and services. I was not paid for this product review, nor did I receive any inducement to make it.
Strange GMail error
Got a strange GMail message that persisted with a single message. I composed an email, and clicked on send. Up popped the following message:
Oops... a server error occurred and your email was not sent. (#793)
It persisted. I was able to create and send another message, and yet when I went to my drafts folder to send it again, I got the error again.
I finally solved it by closing the browser and re-signing into GMail.
Oops... a server error occurred and your email was not sent. (#793)
It persisted. I was able to create and send another message, and yet when I went to my drafts folder to send it again, I got the error again.
I finally solved it by closing the browser and re-signing into GMail.
MySQL Can not issue data manipulation statements with executeQuery()
Had an interesting MySQL error. It was: Can not issue data manipulation statements with executeQuery().
This was the code snippet that caused it:
try {
stmt = conn.createStatement();
myQueryString = "delete from groupnames where id=" + gid;
stmt.executeQuery(myQueryString);
The thing to notice is the query string. What it was doing, was deleting a record in a table. It wasn't a query so the line in red is incorrect.
It should have read:
try {
stmt = conn.createStatement();
myQueryString = "delete from groupnames where id=" + gid;
stmt.execute(myQueryString);
Notice that instead of executeQuery, because there is no query in a delete, it should merely read execute.
Hope this helps someone.
This was the code snippet that caused it:
try {
stmt = conn.createStatement();
myQueryString = "delete from groupnames where id=" + gid;
stmt.executeQuery(myQueryString);
The thing to notice is the query string. What it was doing, was deleting a record in a table. It wasn't a query so the line in red is incorrect.
It should have read:
try {
stmt = conn.createStatement();
myQueryString = "delete from groupnames where id=" + gid;
stmt.execute(myQueryString);
Notice that instead of executeQuery, because there is no query in a delete, it should merely read execute.
Hope this helps someone.
Traffic Faking Saga continues
Well the traffic faking saga continues. In a previous post, I outlined how I contacted the .PW abuse desk for the PW registrar where the internet rectums and societal scourges called blogsrating.pw were hosted.
The registrar asked me for proof, and I sent back this reply:
Hello:
For supporting evidence of the spammer in your midst, please google blogsrating.pw and you will find the internet is full of complaints of these spammers/traffic fakers. They operate under a few different domains but the blogsrating.pw is front and center.
And they sent back this reply and closed the ticket:
Thank you for contacting us.
However, in order to proceed with suspension of the domain name, we require corresponding evidence supporting the same.
Once, we receive the necessary evidence, we shall definitely take strict action against the domain name.
Best regards,
Abuse Mitigation Team
.PW Registry
Ticket Details
Ticket ID: ZTV-616-97794
Status: Closed
So in essence, they are a bunch of ticket-closers who have no interest in doing simple investigative work of their own. It is my job to police the internet according to them.
If the assholes at blogsrating.pw are polluting your blog, you too can contact the abuse desk and have them do nothing as well.
Here are the frustration particulars: .PW Abuse Desk <abuse@registry.pw>
In the meantime, the dickless wonders have put 32 fake hits on this blog in the past few minutes. Here are the offenders:
http://r-e-f-e-r-e-r.com - 12 hits
http://t.co/MaAptuGFVu - 12 hits
http://www.vampirestat.com - 8 hits
The registrar asked me for proof, and I sent back this reply:
Hello:
For supporting evidence of the spammer in your midst, please google blogsrating.pw and you will find the internet is full of complaints of these spammers/traffic fakers. They operate under a few different domains but the blogsrating.pw is front and center.
It is highly annoying to me, but highly damaging to your good name as a registrar. I would seriously suggest that you perform a simply google of that domain for all of the evidence that you need.
And they sent back this reply and closed the ticket:
Thank you for contacting us.
However, in order to proceed with suspension of the domain name, we require corresponding evidence supporting the same.
Once, we receive the necessary evidence, we shall definitely take strict action against the domain name.
Best regards,
Abuse Mitigation Team
.PW Registry
Ticket Details
Ticket ID: ZTV-616-97794
Status: Closed
So in essence, they are a bunch of ticket-closers who have no interest in doing simple investigative work of their own. It is my job to police the internet according to them.
If the assholes at blogsrating.pw are polluting your blog, you too can contact the abuse desk and have them do nothing as well.
Here are the frustration particulars: .PW Abuse Desk <abuse@registry.pw>
In the meantime, the dickless wonders have put 32 fake hits on this blog in the past few minutes. Here are the offenders:
http://r-e-f-e-r-e-r.com - 12 hits
http://t.co/MaAptuGFVu - 12 hits
http://www.vampirestat.com - 8 hits
More of why Facebook is finished
Since CNN doesn't have a blogger button to share, I am cutting and pasting this article from CNN. Here is the URL: http://us.cnn.com/2013/06/21/tech/social-media/facebook-contact-bug/index.html?hpt=hp_t2
Facebook bug exposes some contact information
By Heather Kelly, CNN
updated 10:46 AM EDT, Sat June 22, 2013 | Filed under: Social Media
|
(CNN) -- A newly discovered Facebook bug may have inadvertently compromised the contact information of 6 million users, the company says.
The bug, which has since been repaired, was part of the Download Your Information tool, which lets Facebook users export all the data from profiles, such as posts to their timeline and conversations with friends. People using the tool may have downloaded inadvertently the contact information for people they were somehow connected to.
Some people upload their contact lists or address books to Facebook, which the company then uses to suggest new friends they can connect with who are already using the service.
Though the number of people impacted is sizable, the actual spread of their contact information appears to be limited. The phone numbers and e-mail addresses were not exposed to developers or posted publicly. It is only shown to people they had at least a tentative connection with, and who may have already had their contact information. Even in that pool, it was only exposed to people who had used the data-exporting tool.
"For almost all of the email addresses or telephone numbers impacted, each individual email address or telephone number was only included in a download once or twice. This means, in almost all cases, an email address or telephone number was only exposed to one person," Facebook's security team said in a post.
The company says it has no evidence that the bug was "exploited maliciously" and that there have been no complaints so far.
The social media company announced the bug on Friday afternoon. The issue was discovered by a third-party security researcher who submitted it through Facebook's White Hat program.
Facebook's White Hat program is set up so that people such as security researchers can report any vulnerabilities they find on the social network and get a reward for $500 and up in return. These types of programs are common at Internet companies.
"Your trust is the most important asset we have, and we are committed to improving our safety procedures and keeping your information safe and secure," read the post.
People who were affected by the bug will receive an e-mail from Facebook.
Eclipse Java -- Classes Will Not Build
We had an interesting problem. After checking out the latest project out of our repository (Subversion), we couldn't get a build. After a clean, the WEB-INF/classes directory was empty. We checked the build path stuff under the project properties. All was in order. We rebuilt several times. Nothing.
It turns out that somehow a corrupted .classpath file was checked into the main trunk. This is the .classpath file automagically generated by Eclipse. When we reverted to the previous version of the .classpath file, everything worked and we got a build.
Hope this helps someone.
Reporting Abuse for Traffic Faking
In a previous post, I told you that I was sick of the scum bags (or is it scumbags) doing Black Hat SEO traffic faking on my blogs. I did report blogsrating.pw to the .PW registrar and this was the response that I got:
Hello,
Thank you for contacting us.
If you believe that the domain name "Blogsrating.pw" is involved in fraudulent activities, then we request you to provide us with evidence supporting the same.
You may provide the necessary evidence to us or could directly provide the same to the Registrar of the domain name.
Feel free to contact us, in case of further queries.
Regards,
Abuse Mitigation Team
.PW Registry
So you see, it is up to me to police the internet. I may do a write-up and send it back, but right now I haven't got time.
But I do have time to add some more scum bag domain names to the traffic fakers list:
vampirestat.com
adsensewatchdog.com
kmzackblogger.blogspot.com
r-e-f-e-r-e-r.com
The adsensewatchdog.com is using a Google trademark so I think that I will report that one. I will let you know what happens.
Really Getting Tired of these Traffic Faking Domains
I am really getting tired of traffic faking domains. These are domains that fake traffic hits to a web site. They know that webmasters look at the web analytics, and when they see a whole pile of hits from a website, they are curious as to why that website is sending traffic their way. So they check it out, and it ends up being a spam site that wants to sell you drugs, or weight loss programs. They are a blight on the web community. They practice Black Hat SEO.
Two of the worst domains that are traffic faking my blogs are:
blogsrating.pw
flf-course.com
These internet rectums are jerks of the worst kind. The .pw domain name stands for professional web, and I sent an email to PW registry because traffic faking seems to violate their terms of service. We shall see if the pw registry takes itself seriously and curbs those traffic fakers. If not, then I wouldn't suggest patronizing the pw registrars because your website will be considered in the same group as spammers and traffic fakers.
Best Open Source, Free Blogging Software
We are a java shop. We are committed to J2EE, Java, JSP as the best web delivery system for what we do. Recently I was asked to implement blogging software. Without a doubt, the best open source JSP blogging software is Apache Roller
Apache Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small. It runs as a Java web application that should be able to run on any Java EE server and relational database. Currently, Roller is best supported on Tomcat and MySQL -- but users have reported success running Roller on Glassfish, Websphere, JBoss, Resin, Geronimo, Derby, PostgreSQL, and Oracle.
Here are some of Roller's key features:
- Multi-user blogging: can support tens of thousands of users and blogs
- Group blogging with three permisson levels (editor, author and limited)
- Support for comment moderation and comment spam prevention measures
- Bloggers have complete control over blog layout/style via Apache Velocity-driven templates
- Built-in search engine indexes weblog entry content
- Pluggable cache and rendering system
- Support for blog clients that support MetaWeblog API
- All blogs have entry and comment feeds in both RSS 2.0 and Atom 1.0 formats
You can get the software here:
Subscribe to:
Posts (Atom)












