Google Chrome incorrectly reporting “mixed content” on SSL-encrypted pages
Chrome will show a green icon the left of a URL that is SSL-encrypted and does not use “mixed content”. In other words, a page that displays only secure content over an HTTPS connection. That’s great, and increases user trust. However, if the site contains 20 pages and one of them contains an external non-HTTPS JavaScript file, Chrome will display a red “skull and bones” icon to the left of the URL bar, and that icon will remain displayed next to that site’s URLs for that visitor until they close Chrome.
For example, Skype offers a status button to display a user’s Skype status. That relies on a JavaScript file that resides on Skype’s servers and is only available over an HTTP connection. So, to use this on an all-SSL site, you’d probably need to put it inside an iframe.
I suppose Chrome’s developers might think that if one page on a site contains such content, they’d better keep warning the user about other pages on that site too, even though the other pages do not contain mixed content. I would prefer tit actually be accurate.
www subdomains (or lack thereof)
Why do some major sites not have working www subdomains? For example, a domain registrar I have used in the past, ziggle.com, is not accessible from www.ziggle.com. This seems like a mistake to me, but maybe they have their reasons. I came across another example of this a few days ago but can’t remember which site it was. If the DNS is set up right and the .htaccess file contains the following (if using Apache), there should be no problem;
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.theirsite\.com[NC]
RewriteRule ^(.*)$ http://www.theirsite.com/$1 [R=301,L]
Skype “Call Me” button – no SSL support!!
To my dismay and total surprise, Skype does not offer an SSL version of its Call Me or Status buttons (link). I emailed them about this and they confirmed that it is not possible at this time, but that they would keep it in mind as a feature request. To me this is not a feature, but a basic must-have. HTTPS connections are a staple and a fact of life that should not have been overlooked. It should not be complicated to enable that, but considering that they have been in business for seven years, perhaps there is some fundamental roadblock preventing this.
Google Analytics uses JavaScript to determine whether the connection uses HTTP or HTTPS. Skype also uses an external JavaScript file, but forcibly loads it over HTTP, which is a problem for sites running on an HTTPS connection (SSL), because it will trigger “mixed content” and “potentially unsafe” content warnings in some browsers, depending on visitors’ browser settings. That can reduce customer trust, which in turn can have an impact on online sales or user stickiness.
If you need to use Skype buttons on a site that is accessed over SSL, beware.
When companies don’t want you to contact them ..
Ever notice how the bigger the company, the harder it is to contact someone? We all know how hard it can be to reach a live person who also happens to be helpful and knowledgeable. Today I was trying to get some simple HTML code for a Skype status button, and during that process Skype presented a link “Save this HTML snippet” – at http://www.skype.com/intl/en-us/tell-a-friend/get-a-skype-button/save.php. However, that link leads to a 500 Internal Server Error, and if you attempt to access that link directly, it gives a 404 Not Found error. So, being the helpful person that I am, I proceeded to find Skype’s contact link so I could let them know about this bug. There is no such link. I then tried their forum, but it contains no bug reporting area. So I posted it in their Suggestions forum and here, and hope they sort it out.
The irony here is that the bigger companies get, the more you’d expect them to have internal QA processes in place, however if they opened up the floodgates and let just anyone contact them, it would be unmanageable. It would be great if they could rely on regular user feedback for improvements, but I suppose they can’t afford the required staff … but in this case QA missed this one, apparently.
I did finally figure out how to contact them, by logging into Skype.com and then going to Help, Related, Get more help. However, that still offers no mechanism for reporting bugs or other feedback.
Basecamp & project management
We’ve recently started using Basecamp for project management and love it. It lacks robust user access level control, but this is not a must-have for us at the moment. The software makes it very easy to track tasks, comment on them, attach files, set milestones, and so forth. While using it I did notice a usability issue related to the commenting system. Normally, new comments are highlighted with a green icon. However, the system was highlighting even your own comments – if they were new. Now, why would I want to re-read my own comment? I’m only interested in new comments by others!
Thankfully, I let Basecamp staff know about this usability glitch, and the VERY NEXT DAY they had resolved it! It’s nice to see that kind of responsiveness.
Joined the local chamber of commerce!
We’ve joined the Loudoun County Chamber of Commerce (northern Virginia / metro DC). We hope to get involved in some committees and start attending networking events. This seems like a great way to meet other local business owners and cross-pollenate, besides the obvious benefit of lead generation.
Spec work and 99designs.com
99designs.com is a crowd-sourcing method for generating web and graphic designs quickly. It is also fairly cost-effective.
99designs.com has some things going for it that are attractive to customers, but I’m a little concerned about how they have designers competing. I wonder what kind of pay the designers get, and where they’re based. My understanding is the designers don’t get paid unless their design won the “contest”. This is spec work, which undermines and devalues this industry in my opinion. Why work with a disgruntled designer or one that doesn’t respect him or herself?
For example, to post a project, a client would pay a flat fee of $39, which should ward off frivolous project requests, and the winner of the design contest would be awarded the project budget via escrow. The trouble I have with this is that the final budgets, while reasonable for one designer (if on the low end), do not pay the “losers” of the design contest. I think this is wrong. In essence, 99designs.com is a competitor to elance.com and odesk.com, but presents its projects as design “contests” when in fact it is a way for clients to procure designs without needing bids. It’s spec work. I don’t think anyone should work for free, even the ones that lose the contest.
While a client might get a bunch of design options for little money this way, this process cut out the whole discovery phase of the project. For example, as a client you might want a new header and logo for your site. You can request this and receive many responses, and there’s a good chance one of them will strike your fancy. Normally there would be at least a small phase of getting to know the customer, their needs, business model, etc. That is entirely missing in the 99designs.com model. It might work in the end, but it’s exploitative. In some cases, designers on there are even under 18 (reference).
It’s a freelance marketplace masquerading as design contests … for little or no pay, and using child labor.
building new company site in D…
building new company site in Drupal. Got mockups done, and functionality already in place. Joined the local Chamber of Commerce too.
waiting for Android 2 for Moto…
waiting for Android 2 for Motorola Cliq XT for speech to text emailing
Recurring payments with Joomla
Say you want to be able to charge customers with recurring payments, say, every month. I have recently been doing quite a bit of work on that front.
Search and replace in your MySQL database
Imagine this scenario:
You have an existing company web site with well over 100 pages, and it uses a MySQL database. For argument’s sake, let’s say it runs Joomla. Now suppose you have a product and have recently re-branded it, and now it has a new name. It appears in 300 places in various pages. How can you quickly replace all those instances?
Using this query in phpMyAdmin;
UPDATE jos_content SET introtext = REPLACE(introtext,’Old Product Name’,'New Product Name’);
UPDATE jos_content SET introtext = REPLACE(introtext,’Old Product Name’,'New Product Name’);
UPDATE jos_modules SET introtext = REPLACE(introtext,’Old Product Name’,'New Product Name’) WHERE module=’mod_custom’;
That should take care of 99% of those instances.
Of course, BACK UP before running this query! You can do that in phpMyAdmin by clicking the Export tab at the top (when you are viewing your database). I always select the option for Complete Inserts and Extended Inserts, and Save as File. You may also need to select the tables you want to export. If it is a very large database, it may make sense to choose “gzipped” (for gzip compression). It offers much better compression than zip.
Many web hosting control panels offer phpMyAdmin. In cPanel, there should be a section called Databases, with phpMyAdmin listed as one of the icons. Click that to manage your existing databases, and then select the one you need to edit – on the left. To run the query, click the SQL tab at the top and paste the query, and click Go (on the bottom right).
Using queries such as the one above can potentially save many hours of work, if done right and done carefully.
There is a commercial Joomla component (here) that does the same thing as the above query, except I’m not sure if it also processes module text. However, performing database queries such as this one really do require backing up the database beforehand, and although there are Joomla add-ons that allow for easy database backup within the administrator interface, I think for redundancy and simply being safe rather than sorry, you also need to back up via phpMyAdmin, and if possible also grab a backup from cPanel (choose the “Home Directory” backup). So then you may as well run the query yourself in phpMyAdmin. If you’re uncomfortable doing that, try running the query on a copy of the site first, perhaps using XAMPP on your personal computer.
Capture traffic with Google Local
If your business has a physical location that customers can visit, consider getting listed in Google Local. It helps your site get valuable search engine traffic at no extra cost. I have even seen cases of businesses using this to replace their PPC campaign (AdWords).
Of course, there are businesses out there that will use fake addresses just so they can get listed. Google verifies by mail OR by phone … and these days it is possible to order a VOIP number for any location. One can only expect that Google will stop that practice at some point. Even if they don’t, having potential customers go to a non-existent address is not going to make them very happy!
Check out Google Local. It is an underutilized part of SEO.
Css’s first-child pseudo-selector
Have you ever seen news articles that display the first letter in a very large font size? On web sites this is most often achieved using a graphic. That means keeping a library of graphics for all the letters in the alphabet, which I think makes editing a little cumbersome. Luckily, CSS3 offers us the ‘first-child’ pseudo-selector.
Example;
Lorem ipsum ei cetero legendos appellantur per, indoctum iudicabit ei duo, in per ignota persius perfecto. Duo ne alii summo consequuntur, vitae suscipit gloriatur cum ei, augue atomorum vulputate ea eum. Usu eu erant mediocrem, posse bonorum voluptatum et pro. Sea iisque gubergren rationibus cu, ne mea takimata mandamus laboramus. Duo utroque sententiae interesset te, luptatum scripserit suscipiantur et pri. Dicta verear appetere vim ne, nam eu alii ridens, aeque legendos ne mei.
HTML:
<p class=”firstparagraph”>Lorem ipsum ei cetero legendos appellantur per, indoctum iudicabit ei duo, in per ignota persius perfecto. Duo ne alii summo consequuntur, vitae suscipit gloriatur cum ei, augue atomorum vulputate ea eum. Usu eu erant mediocrem, posse bonorum voluptatum et pro. Sea iisque gubergren rationibus cu, ne mea takimata mandamus laboramus. Duo utroque sententiae interesset te, luptatum scripserit suscipiantur et pri. Dicta verear appetere vim ne, nam eu alii ridens, aeque legendos ne mei.</p>
CSS:
p.firstparagraph:first-letter{
color:#000;
font-size:40pt;
line-height:35pt;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../images/hIEfix.png,sizingMethod=crop); zoom:1;
text-shadow: #ccc 2px 2px 1px;
float: left;
position: relative;
padding-right:6px;
vertical-align:text-top;
}
