G Suite (formally known as Google Apps) is a collection of Google services including Gmail with custom domains, all available through a single user account. G Suite’s default MX records (aspmx.l.google.com, and alt1-4.aspmx.l.google.com) are not DNSSEC signed. For users wanting DNSSEC signed G Suite MX records, Google has made such available.
DNSSEC is a security extension to the DNS protocol making it possible to sign DNS data with a digital signature using the public key cryptography approach. DNSSEC makes it possible to 1) Verify that DNS data actually is received from the expected origin zone. 2) Know that no modification of DNS data occurred during transit. More detailed information about DNSSEC is available at the Wikipedia page.
As a side note, despite that these MX records are made available by Google, they are not officially supported or documented. They could change, go offline, or somehow get unreliable at some point. I doubt this will happen anytime soon. In the past, Google has kept crucial legacy hostnames online, and some major web services are using these MX records.
Recently my web hosting provider BuyShared (also known as BuyVM and Frantech) started using the SMTP provider MailChannels for outgoing e-mails. This is a neat feature that increases mail deliverability. Before switching to MailChannels, BuyShared routed outgoing mail through a local SMTP server. Due to more advanced and strict spam filters and policies by most major e-mail providers, including the world’s largest provides Gmail, Outlook, and Yahoo! Mail, sending e-mail directly from a shared web hosting account is not recommended. The chances of genuine mail ending up falsely marked as spam is at a level making this approach unreliable.
BuyShared added MailChannels “silently” meaning that no announcement was made, and the fact that they now use MailChannels is not even included on their website as of this writing. As a result, I, and probably many other BuyShared customers were (and still are) unaware about this change. The good news is that no reconfiguration of mail software is needed. Users should continue sending mail through BuyShared as usual since BuyShared takes care of routing outgoing mail through MailChannels.
Changing SMTP provider means that the Sender Policy Framework (SPF) should be changed for all domains sending mail through BuyShared. An SPF policy is added as a DNS (TXT) record and provides information about what IP addresses are allowed to delivery e-mails for a given domain. Having a correct SPF policy in place for a domain is essential for mail deliverability. While mail is not automatically rejected from domains without an SPF record, it is a crucial factor. More detailed information about SPF is available at the Wikipedia page.
MailChannels suggests using the following SPF TXT DNS record:
example.com TXT v=spf1 a mx include:relay.mailchannels.net ?all
This policy allows mail from the IP hosting the domain, the IP of the MX record of the domain, and MailChannels IP addresses. The “?all” means that mail sent from other IP’s should be marked as neutral.
This policy only allows mail from MailChannels’ IP addresses and states that mail coming from any other IP should be considered non-genuine and fail.
If you want to add the MailChannels IP space to your existing SPF record you simply need to add include:relay.mailchannels.net to your existing policy.
After adding/editing your SPF record you can verify the changes using a tool such as MXToolBox SPF Records. Notice that changes to DNS records can vary from just a few minutes to several hours before they are propagated to the rest of the Internet.
How to add an SPF record depends on the DNS server used by your domain. If you are using the default BuyShared DNS servers (ns1-4.private-nameserver.net), you can add an SPF record through the “Zone Editor” in Cpanel.
Namecheap is a US-based ICANN-accredited domain registrar that has been around for more than a decade. They started as a reseller of the registrar eNom and used eNom’s ICANN-accreditation. During 2018 all new and existing domain registrations are now under their own ICANN-accreditation. Over the years they have generally received positive reviews and are often recommended by customers. I have used Namecheap for many years and used to have most of my domains with them. Besides domain registrations Namecheap also offers different hosting plans. This review is solely about Namecheap as a domain registrar.
Namecheap offers domain registration under more than 400 top level domains (TLD’s). Price wise Namecheap is an affordable option charging in the 10-15$ range for major TLD’s such as .com, .net, .org, .info etc. It is certainly possible to find cheaper registrars out there, but often it will be worth it to spend a bit extra by using a solid well-established registrar, Namecheap is in that league. They often have attractive promotions, but be aware that these prices most often only cover the first year of registration.
The purchasing process is pretty straightforward and simple, and Namecheap accepts most major credit cards, PayPal, and Bitcoin. While Namecheap does show several upsell options during purchasing, they are not as aggressive as many other registrars, and it’s easy to skip upselling by clicking “View Chart” when you have selected the domain you want. If you need free whois privacy, you need to add it from the list of upsell options. Don’t worry if you forget it during check-out. You can add whois privacy afterward.
During my time as a customer at Namecheap, I have had one bad purchasing experience. During a promotion, I was given free e-mail accounts for a year. I didn’t need them and never used. Unfortunately, auto-renew was on by default, and I ended up paying for yet a year of service and was unable to receive a refund. It seems Namecheap has since turned auto-renew off by default for such promotions. Anyway, I will recommend checking the auto-renew settings on both domains and add-on services to make sure they align with your needs.
Namecheap’s control panel has improved over the years, and the current version is quite simple and easy to learn. Most users with experience from other registrars will be able to manage registered domains quickly. The control panel provides self-service for most domain configuration options. Only some special configurations are unavailable such as adding an IPv6 glue record. Changes, for example, changing DNS are processed quite fast, typically within minutes. My only concern with the control panel is that it can be a bit slow at times.
I have been quite pleased with the process of both transferring domains in and out of Namecheap. Over the years I have transferred quite a few domains, and so far I have had no issues. I once needed to transfer out an expired domain. This was not possible through the control panel, but after contacting support, the transfer was initiated and went through. If the domain in question only recently expired it is technically still possible to transfer the domain to another registrar, but not all registrars will allow this. I was happy to discover that Namecheap will.
Namecheap offers 24/7 support through their knowledge base, support tickets, and live chat. My few encounters with NameCheap support has been positive. Overall the support staff seems to be competent and interested in solving problems.
Affordable pricing, typical in the 10-14$ range for major TLD’s. Namecheap often runs attractive promotions.
Offering domain registration under more than 400 TLD’s.
Satisfying and fast support through 24/7 tickets and live chat.
Decent and fairly easy to learn control panel.
Free whois privacy (if allowed by the TLD registry.)
Free DNS service (with some limitations), this service is even free for domains not registered with NameCheap.
Trustworthy, Namecheap has proved to be trustworthy and rock solid over the years.
Easy to transfer domains in and out of Namecheap.
Accepts PayPal and Bitcoin besides most major credit cards.
No phone support. Support is provided through a 24/7 ticket system and live chat.
Some special configurations are not supported, for example, adding DNS glue records for IPv6 addresses, and DNSSEC is not yet supported for all domains. Other special configurations require a support ticket.
Free add-ons such as e-mail account, SSL certificates, etc. provided as part of a domain registration sometimes have auto-renew enabled. It’s easy to accidentally end up paying for unwanted extra services initial free during domain registration.
Domains previously transferred out of Namecheap cannot be transferred back using promotional offers.
Namecheap will continue to be on my list of preferred domain name registrars. It is possible to find slightly cheaper alternative registrars, but Namecheap is affordable, and they are a long-term player that has proved to be stable and trustworthy. The Namecheap website and control panel is simple and straightforward with a simple interface. Over the years they have continued to improve their interface and self-service. Overall, I recommend Namecheap as an option for a primary or secondary registrar.
Rebel.com is a Canadian based ICANN accredited domain registrar (registered in Barbados). Besides providing domain name registrations they also offer e-mail and webhosting, but I have only used them as a domain registrar. They are from time to time running some pretty good promotions for both registrations and transfers, this is what initially caught my attention. After having used Rebel.com for about 18 months, I am now in the process of moving my few remaining domains away. All in all, I do not recommend Rebel.com. More details about my experiences are outlined below.
The control panel is “messy” and takes a while to get used to and figure out. Especially the WHOIS contact information manager is painful to work with and the entire control panel is calling for a major makeover. Instead of providing a smooth and easy to use control panel, it looks like it was mainly designed as an advertisement for add-on products such as WHOIS privacy and webhosting.
By default, domains are set to auto renew. Personally, I prefer to turn auto renew off, so I can decide manually if I want to keep a domain with a given registrar, transfer it to another registrar, or if I just want to let the domain expire. To turn auto renew off you must contact support. This is annoying and something you easily can forget to do until it is too late. Clearly, this feature could easily be integrated into the control panel like the majority of other registrars have done.Rebel.com will automatically charge the renewal fee 45 days prior to a domain’s expiry date unless auto renew is turned off. It looks like an attempt to get recurring customers through obscurity.
If you forget to renew a domain, they charge up to $100 in “processing fees” to reactivate the domain. This is an extremely high fee in comparison to other major registrars that charge a considerably lower fee.
I have both transferred domains in and out of Rebel.com. Transferring in was smooth and easy, but transferring out domains was more complicated. Firstly, getting the authorization code (EPP code) and unlocking the domain took a while to figure out and is not documented in their help section. Secondly, they do not provide an option to explicit accept the transfer on their end. Not even their support team is capable of accepting a transfer out request. As a result you have to wait a minimum of five days before ICANN will force a transfer. My experience from other major registrars is that a transfer can be completed within a couple of hours.
My experience with support is one of the more positive aspects. I have contacted support a couple of times through e-mail, and they responded fairly fast, even during weekends. However, at times it looked like I was getting canned responses not addressing my question. Unfortunately, the reason why I had to contact support in the first place has been because of the troublesome control panel…
Fast response from support.
Free DNS with full control.
Attractive promotions from time to time.
Registration and renewal costs are higher than other reputable registrars.
“Messy” control panel missing several features.
No free whois privacy (not even for the first year.)
Auto renew is turned on by default, to turn it off a support ticket is required.
Difficult and slow transfer out process.
In conclusion, my meeting with Rebel.com has been mixed and I will not recommend them. They offer a standard domain registration service and are trustworthy, but in comparison to other well established registrars such as NameCheap, NameSilo (affiliate link) etc. their domain service is more expensive, more troublesome, and with less features. Especially the hefty processing fees when reactivating expired domains nailed the coffin regarding my decision to move away all domains. I could be tempted to use them as a secondary registrar when they are running some good promotions, but only to transfer the domains out as fast as possible.
Together with co-author Jan Stage we got a short paper accepted at the conference INTERACT 2017.
The essence of usability evaluations is to produce feedback that supports the downstream utility so the interaction design can be improved and problems can be fixed. In practice, software development organizations experience several obstacles for conducting usability engineering. One suggested approach is to train and involve developers in all phases of usability activities from evaluations, to problem reporting, and making redesign proposals. Only limited work has previously investigated the impact of actively involving developers in usability engineering. In this paper, we present two small-scale case studies in which we investigate the developers’ experience of conducting usability evaluations and participating in a redesign workshop. In both case studies developers actively engaged in both activities. Per the developers, this approach supported problem understanding, severity ratings, and problem fixing. At the organizational level, we found that the attitude towards and understanding of the role of usability engineering improved.
Nis Bornoe and Jan Stage. 2017. Active Involvement of Software Developers in Usability Engineering: Two Small-Scale Case Studies. Human-Computer Interaction – INTERACT 2017. Lecture Notes in Computer Science. Springer.
A while ago I attended a seminar for practitioners about the differences and similarities between usability and UX and not least the problems of understanding, separating, and combining the two into something specific. During this seminar, a problem discussed among the practitioners was how to sell UX.
There are a number of challenges when presenting and selling UX to clients. UX is a “fuzzy” term not easily explicable when it comes to what is delivered, what UX looks or feels like, and how the value of UX is made quantifiable. For example, a chief product officer of a small software development organization told me once: “…how does one get usability included into business cases so that they are credible higher up in the system?”
On top, several different UX definitions exist, and UX is easily confused with or used as a synonym for ‘usability’ or “user interface.”
The following advice was mentioned at the seminar when talking to clients:
Use facts about UX.
Include UX people during sales meetings.
Include UX explicit into business cases.
Outline the intended UX design process.
Show examples of how UX methods can form a product.
Provide examples of how existing knowledge about UX design can be used in new projects.
BunnyCDN (affiliate link) is a low-cost unmanaged content delivery network (CDN) service. Setting up the service and implementing the CDN into your website is an easy procedure, especially if you already understand the basics of a CDN. BunnyCDN is one of the cheapest available CDN providers charging $0.01/GB for US and European traffic, and $0.03/GB for Asian and Oceanian traffic. In comparison a similar package from KeyCDN is priced at $0.04/GB and MaxCDN charge about $0.08/GB (and minimum $9/month.)
I recently signed up for a 14 days free trial period to evaluate BunnyCDN and this review reflect my first impression after using their CDN for a couple of weeks.
What is a CDN and why use one?
In essence, a CDN is about efficiently distributing content. A CDN is consisting of servers globally distributed at essential locations such as major internet traffic points and cities. Each server in the CDN will contain a cache of certain files and will serve the content to the visitors through the fastest possible route. A CDN is mainly used to host static content such as images, CSS and JS files, videos for download and streaming, and other files for download. Three majors points of using a CDN is to increase download speed for the visitors, have redundancy in case a server is down or overloaded, and to lower the load on the server hosting your website. A relative simple CDN such as BunnyCDN does not host dynamic content such as databases and server-side scripts. More advanced (and considerably more expensive) CDN providers can also host dynamic content, but this will increase complexity of the setup considerable, and will be an overkill for most websites. It is also important to note that a CDN is not an alternative backup solution. Generally, content is shared with a CDN through either a pull or a push zone. A pull zone connects to your server and download the static content to the CDN when the content is requested. This is the easiest option to setup and maintain. In a push zone setup, you upload the files directly to the CDN and do not need a local copy. This option requires more time to setup and maintain in comparison to a pull zone and also more expensive since you have to pay a storage fee for having the CDN hosting your files.
Is a CDN a must for all websites? absolutely not. This blog uses a CDN to serve most static content, but it does not really require a CDN. The amount of visitors could easily be handled by the shared server hosting the blog. The speed would be a bit slower without the use of a CDN, but this will hardly be noticeable for the majority of the visitors. The content of the specific website and the amount of daily visitors are two crucial factors when deciding to offload traffic to a CDN or not. Sites without many images, downloadable files e.g. PDF, PPT, DOC, video etc. will not benefit much from a CDN, but frequently updated blogs with a steady amount of visitors, ecommerce sites, and archives of PDF files are good examples of sites that will benefit.
BunnyCDN provides many features, so I will just point out a few essential ones:
Multiple pull and push (currently in beta) zones.
Custom CNAME hostnames (setting up a custom CNAME hostname is recommended because 1) you have more control, for example, you can assign your own SSL to the hostname, 2) in case you decide to shift to a different CDN provider the transition will be easier, and 3) it looks more professional, and trustworthy.)
SSL support (you can use your own or get a free one from BunnyCDN.)
Blocking of countries, individual IP’s, and entire IP ranges (blocking happens at DNS level.)
Redirection of visitors from specific countries and regions (to save bandwidth costs it’s possible to redirect visitors to the closest cheapest possible datacenter. For example, you can redirect all traffic from Asia to US or EU servers to use cheaper bandwidth.)
All locations support both IPv4 and IPv6.
Option to purge the entire cache at once or just individual files.
No restrictions on file extension and size.
Hotlinking protection and URL authentication.
Basic statistics including real-time log monitoring.
As of this writing, BunnyCDN has 13 points of presence (PoP) aka. they have edge servers caching content in 13 different datacenters around the globe including data centers in Europe, The United States, and Asia & Oceania. A South American presence is planned, but not in operation yet, and it has still not been disclosed where the South American PoP will be located. Below is a list of current locations:
New York City, NY
Los Angeles, CA
Kansas City, MO
London, United Kingdom
Asia & Oceania
The BunnyCDN user interface is very simple and fast to learn. It took me a couple of minutes to setup a new pull zone and under an hour to be more or less “fluent” in the entire interface and the functionalities provided. I believe beginners with basic knowledge about website development will be able to setup a pull or push zone and understand the basics within an hour or two. Some or the more advanced options such as SSL and advanced security settings will take a bit longer. The dashboard loads fast and smooth (since BunnyCDN is a CDN provider anything else would be strange). Everything is kept in a simple yet stylish manner and follows the standards of typical dashboard design.
Basic statistics about bandwidth usage, file requests, and cache hit rate is provided along real-time log monitoring. I am missing statistics about individual files, especially something like a top 25 list of most downloaded and most bandwidth consuming files. It would be very helpful to get an idea of what takes up bandwidth if you are just curious or want to optimize files. To get a more detailed understanding of the traffic, you will need to measure through other means.
BunnyCDN charge on a monthly basis for actual traffic used (per-byte billing accuracy) with no monthly minimum. While there are no monthly minimum payments, there is a yearly minimum of 5$. BunnyCDN accepts major credit cards and BitCoin, but unfortunately not PayPal. The pricing structure is simple and transparent as they provide one plan. Due to differences in bandwidth prices around the world, they charge according to the following scheme:
US and Europe: $0.010/GB
Asia & Oceania: $0.030/GB
South America: unknown at the moment.
For storage used by push zones, they charge $0.02/GB per month (Currently, it seems that they do not charge for storage as this feature is in beta.)
Pricewise BunnyCDN is at the absolute bottom when comparing with similar CDN providers, as mentioned, a similar package from KeyCDN is priced at $0.04/GB, and MaxCDN charges about $0.8/GB.
It is possible to save bandwidth costs by redirect visitors to the closest cheapest possible data center. For example, you can choose only to serve traffic from US and European locations no matter where the visitor is located. This redirection sort of conflicts with the philosophy of using a CDN, but can help cut costs if needed and will in many cases still result in increased speed in comparison to not using a CDN at all.
According to a small nonsystematic evaluation, the statistics about bandwidth usage looks like to be pretty precise and matches well when comparing with my own calculations of expected bandwidth usage.
While I have not conducted a systematic evaluation of the download speed from BunnyCDN, I have tested the speed by downloading large files from different locations in the US and Europe and tested over several days. Overall the speed has been very satisfying. I have typical been able to download at 30MB/sec equivalent to about 240 Mbit/sec and have reached 90 MB/sec equivalent to about 720 Mbit/sec.
If you want to make your own simple speed test of BunnyCDN, you can download the official 100MB test file: http://test.b-cdn.net/100mb.bin
Uploading files to a push zone is also lightning fast. I was able to upload with 6MB/sec equivalent to about 48 Mbit/sec which is pretty good for the internet connection I was using.
As mentioned BunnyCDN offers a 14 days free trial period, so you will be able to do a more comprehensive evaluation to see if BunnyCDN meets your expectations and works for your specific needs.
An essential aspect of a CDN is that your content is cached at the different locations, so files actually are served through the CDN. The cache hit rate (aka. the amount of file requests served through the CDN) is currently about 60% which is on the lower site. Since I only recently started using BunnyCDN I suspect that the low hit rate simply means that the caching process is still in progress. I expect this to increase to about 80-90% during the coming days. Content is only cached at a given location if someone actually request content from that location.
BunnyCDN only provides support through e-mail. I have not needed support so far, but according to other customers, support requests are handled within a day. The number of tutorials and documentation provided by BunnyCDN is relatively limited at this point. Therefore users of BunnyCDN should be able and willing to do must stuff on their own, but through learning by doing most users should be able to get things to work.
In conclusion, I find BunnyCDN to be an interesting low-cost CDN option for private users and small businesses with basic feature requirements and limited budgets. Of positive aspects, I would point out the simplicity of the interface and API, the speed and network, and the low cost and the transparency of the pricing structure. It’s easy to get both a pull and push zone up and running, and the caching of files seems to be done quite quickly as within a few minutes. Of disadvantages I find the statistics to be limited, and I would like statistics about individual files. They only provide e-mail support and no uptime guarantee, there is no DDOS protection in place, and the documentation is limited at this point. The service is still under development so expect minor “blips” such as links not working, sections partially under development, and missing and outdated information around the website.
Ready to try out BunnyCDN? then click here (affiliate link) and get your 14 days free trail (no payment information required.)
I have joined the ACM IUI 2017 (The 22th International Conference on Intelligent User Interfaces) program committee. The program committee of the IUI conference is slightly different organized in comparison to other ACM conferences. Usually, the members of a program committee will assign each submission a number of external reviewers and write a meta-review. At IUI the program committee is divided into two subgroups, a senior program committee, and a (junior) program committee. Each submission will be assigned three reviewers, two (junior) PC members, and one senior PC member. What diversifies the (junior) program committee from being external reviewers is that we are more linked to the process and participates in activities such as paper bidding and discussion. As a Ph.D. student, this is an excellent opportunity to get a gentle introduction to the work and assignments handled by a conference program committee.
The 22th International Conference on Intelligent User Interfaces (IUI ’17) will take place March 13-16, 2017, Limassol, Cyprus and the scope of the conference is described as:
At ACM IUI, we focus on the interaction between machine intelligence and human intelligence. While other conferences focus on one side or the other, we address the complex interaction between the two. We welcome research that explores how to make the interaction between computers and people smarter, which may leverage solutions from data mining, knowledge representation, novel interaction paradigms, and emerging technologies. We strongly encourage submissions that discuss research from both HCI and AI simultaneously, but also welcome works that focus more on one side or the other.