Tag Archives: Software

8 Social Login Plugins for WordPress Compared

wordpress-logo-simplified-rgbI’m doing a survey of 8 popular social login plugins for WordPress, including WordPress Social Login, Social Login, Social, LoginRadius, Users Ultra, WP-OAuth and Social Connect.

Whether you’re interested in a free light-weight plugin, a premium (paid) plugin, or a subscription-based plugin whose experts will custom tailor their solution to your needs, then you’ve come to the right spot.

The following is a table of results, as of this writing in November, 2014. Some of the info required investigation of the plugin’s source code.

WordPress Social Login Social Login Social LoginRadius Users Ultra WP-OAuth Janrain Social Login Social Connect
PLUGIN OVERVIEW
Developer: Miled Claude Schlesser / OneAll Alex King / Crowd Favorite / MailChimp LoginRadius Users Ultra Perry Butler Byron / Janrain Rodrigo Primo
Rating: 4.1 (135 reviews) 3.9 (235 reviews) 3.4 (108 reviews) 3.4 (113 reviews) 4.8 (129 reviews) 5.0 (2 reviews) 3.5 (78 reviews) 4.2 (110 reviews)
Requires WP version: 3.0+ 3.0+ 3.8+ 3.4+ 3.0.1+ 4.0+ 3.5+ 3.0+
Total number of downloads: 153,977 328,353 362,033 256,620 59,000 710 133,147 86,697
Number of downloads over 1 week: 2,216 (+1.4%) 1,677 (+0.5%) 4,227 (+1.2%) 2,354 (+0.9%) 3,132 (+5.3%) 207 (+34.3%) 47 (+0.03%) 232 (+0.26%)
Last updated: 9 days ago 29 days ago 331 days ago 20 days ago Today Today 90 days ago 68 days ago
Cost: Free Freemium or $8-$158 monthly Free Freemium or $150-$450 monthly Freemium or $50-$160 yearly Free Freemium or $10-$2,250 monthly Free
PLUGIN FEATURES AND LIMITATIONS
Social login included with free version: Yes Yes Yes No No Yes Yes Yes
Number of providers: 25+ 25+ 2 25+ 5  8 30+ 5
White label / unbranded: Yes Requires paid plan Yes Requires paid plan Yes Yes Requires paid plan Yes
Login / registration limits: No >2,500 users requires paid plan No No No No >2,500 users requires paid plan No
Site / domain usage limits: No No No No Paid plans allow usage on 1 site or unlimited sites No No No
Creates (registers) new WordPress user accounts automatically: Yes Yes Yes Yes Yes (Paid plan) Yes Yes Yes
Link third-party providers to WordPress user accounts: Yes Yes No Yes Yes (Paid plan) Yes Yes No
Works with existing user accounts: Yes Yes No Yes Yes Yes Yes Yes
Provides login widgets or shortcodes: Yes Yes No Yes Yes (Paid plan) Yes No Yes
Import friends, contacts, etc. from third-party providers: Yes No No No Yes (Paid plan) No Yes No
Social commenting: No No Yes Yes No No No No
Social sharing: No Yes Yes Yes No No Yes No
Includes login and registration tracking / stats: No No No No Yes (Paid plan) No No No
Customize where users are redirected after login/logout: No Yes No Yes Yes Yes No No
Compatible with WordPress Multisite: Yes (Paid plan)
Compatible with BuddyPress: Yes
Compatible with bbPress: Yes
Compatible with Theme My Login:
PLUGIN TECHNOLOGY AND SECURITY
Authentication method: OAuth OAuth OAuth OAuth OAuth, OpenID OAuth, OpenID Connect OAuth OAuth, OpenID
Users are authenticated through a proxy, middleman, single integration point or online service that sits between the WordPress site and the third-party providers: No Yes, OneAll Yes, MailChimp Yes, LoginRadius No No Yes, Janrain Engage No
Identifies authenticated users via their permanent unique user identifier: Yes, with email address No, identifies via email address No, identifies via username No, identifies via email address Yes, with email address Yes Yes No, identifies via email address
Requests and/or stores private or sensitive user info from the third-party: Yes, the user’s email address Yes, the user’s email address, avatar, full name, etc. Yes, the user’s username Yes, the user’s email address Yes, the user’s email address No No Yes, the user’s email address
An open-source library included with the plugin handles authentication: Yes, HybridAuth No No Yes, LoginRadius PHP SDK Yes, Google API PHP Client, LightOpenID, Twitter OAuth, etc. No No Yes, Facebook PHP SDK, LightOpenID
Uses an outdated or deprecated technology / library: No No No No Yes, LightOpenID No No Yes, LightOpenID
Calls third-party provider APIs that are secured with SSL via insecure (non-SSL) URLs: No No No No No No No Yes
Educates users/admins about good security practices when using the plugin: No No No No No Yes No No
Includes one or more settings related to security: No Yes No No No Yes No No
Warns admins when configuration changes may affect security: No Yes N/A N/A N/A Yes N/A N/A
Installs with and defaults to a secure configuration: No Yes N/A N/A N/A Yes N/A N/A
Mentions SSL / HTTPS at all: No Yes No Yes No Yes No No
Recommends the WordPress site to use an SSL certificate: No No No No No No No No
Requires the WordPress site to use an SSL certificate: No No No No No No No No
SSL features are enabled by default: No Yes N/A N/A N/A Yes N/A N/A
Performs SSL host verification: No No N/A No No Yes Yes No
Performs SSL peer verification: No No N/A No No Yes No No
Performance overhead – tested with P3 Performance Profiler (lower is better): 84%, 0.0362 sec 52%, 0.0107 sec 77%, 0.0354 sec 89%, 0.0705 sec 95%, 0.1087 sec 51%, 0.0114 sec 89%, 0.048 sec 77%, 0.0212 sec

Continue reading

Google Chrome’s New Bookmark Manager Offers Nothing New For Power Users

It’s November, 2014. Bookmarks look a bit different than yesterday.

“Oh boy”, you might say, “the new Bookmark Manager for Chrome has finally arrived!”

Let’s see what has improved since the “old” version. Clicking the Star (Add to Bookmarks) gives us a new popup:

chrome-bookmarks-1

Ok…let’s navigate into Add to folder. Here’s where things start to get prickly…

Continue reading

WP-OAuth – Enhances Your WordPress Login and Registration

oauth-2-smWP-OAuth is a WordPress plugin that I developed which allows users to login or register by authenticating with an existing Google, Facebook, LinkedIn, Github, Reddit or Windows Live account via OAuth 2.0.

Install it from the Plugins page in your WordPress backend. Just search “WP-OAuth”.

More information and support available at the WordPress Plugins Directory, or you may contribute via the open-source Github development repository.

.NET Sockets – An Event-based Asynchronous TCP Framework and HTTP Server

Update November, 2014: This project has evolved from a generic TCP communications framework into an HTTP web server capable of hosting WordPress, called Rapid Server.

.NET Sockets is a client/server communication system utilizing asynchronous .NET sockets via an Event-based Asynchronous Pattern (EAP) on top of an IAsyncResult Pattern with thread pools (I/O completion ports) and a binary packet-based TCP communications for maximum concurrency, capacity, performance and scalability.

Visit the Github repo for progress. Benchmarks can be found here and here.

Rapid.js – A Write Once, Run Anywhere Framework for Single Page Apps

rapidjsRapid.js is a Javascript framework in development for the Rapid Platform. Currently, Rapid Platform is provided via a WordPress theme/plugin, but this library will aid in the transition over to a pure Javascript architecture that can be utilized in any solution – not just WordPress – while still providing all of the same benefits as well as opening up the possibility for greater things.

Our goal is to shrink the development workflow as much as possible without sacrificing functionality, or introducing custom syntax, overzealous patterns and extra steps into the process.

Visit the Github repo for progress and details.

Benchmarking Node.js, Apache and .NET Sockets

abThe preliminary benchmark started out simple enough. In the client app, I set up a for…loop with a start/end timer to see how many requests the server app could handle within a given time period. Surprised by the results, I decided to re-tool the server app into a proper HTTP web server that could handle a GET request and return an HTTP 200 OK with “hello world” to the client. The results didn’t change much from before (still very promising) so I decided to install Node.js in Windows 7 and run a more thorough benchmark using ApacheBench, comparing against Node.js and Apache.

This is a simulated benchmark which should not be taken as a conclusive real-world test. However, the results are fascinating and worth looking into further. Continue reading

.NET Sockets – Preliminary Benchmarks

Concurrency testing started out simple enough – launch multiple instances of the client app and see how well the server can handle them all. First I used a simple DOS script that would launch 10 clients each time:


for /l %%i in (0,1,10) do (start AsyncSocketClient.exe -port 8989 -address 127.0.0.1)

Launching the client app this many times turns out to be a bad idea since each instance of the app consumes about 8 MB of memory, but even so, the server can handle 100 clients all connecting at once just fine:

100-clients

Upon further review, the SendMessageToClient function or the callback in the UI thread isn’t optimized properly. A stress test has been built into the client app which creates 100 or 1000 sockets and connects them to the server immediately (no sleep), simulating a massive influx of clients. This heavy load experiment piqued my interest, so I had a look into the SendMessageToClient function to see if it could be optimized. In the callback, we are updating a listbox and textbox on the server’s UI thread. Avoiding these two updates causes the server to perform much better, and that’s fine because we can omit the Forms-based UI and simply write strings to the console, as most servers do.

We can clearly see that the server is able to handle over 10,000 connections without a hiccup:

13000-clients
Continue reading

A Proposed Git Workflow

It was my first time collaborating on a software project over the web, so I set out to design a Git workflow for the development team that would offer a good amount of flexibility.cc-workflow

 

 

Continue reading