Encyclopedia … combined with a great Buyer's Guide!

Improvements of the RP Photonics Website

Posted on 2021-01-06 as part of the Photonics Spotlight (available as e-mail newsletter!)

Permanent link: https://www.rp-photonics.com/spotlight_2021_01_06.html

Author: Dr. Rüdiger Paschotta, RP Photonics AG, RP Photonics AG

Abstract: Here, it is summarized what improvements have been implemented on the RP Photonics website in the year 2020. Apart from the addition of further content, a lot of technical features have been improved with benefits in terms of mobile usability, page speed, and security.

Dr. Rüdiger Paschotta

For some of the many users of the RP Photonics website, it may be interesting to learn about the ongoing work aimed at improving the website further in various dimensions. Therefore, in the following I give an overview on the most important improvements implemented in the year 2020, including various explanations on things done behind the scenes.

Content

While in 2019 I have added a large number of new encyclopedia articles, the focus in 2020 was mainly on various other aspects. However, various things have been added to the content.

Encyclopedia Articles

18 new encyclopedia articles were added – a rather small number compared with that of 2019. However, note that existing articles are often improved. After all, quality is more important than quantity.

Exhibition

The most important addition was the creation of the virtual photonics exhibition. This is a permanent thing, containing all suppliers registered in the RP Photonics Buyer's Guide. For more details, see an article in the RP Photonics Marketing News.

Questions and Comments

Another important thing was the introduction of a new feature mostly in encyclopedia articles. Near the end, you find a section titled “Questions and Comments from Users”. Here, users can anonymously enter their questions, comments, concerns etc. I regularly look at that and publish suitable things together with my answers in the same section. This is quite useful, since it makes me aware of what aspects are of particular interest for our users. Find more on this feature on the website, including an explanation of the criteria determining which comments and questions are accepted.

Usability

Page Speed

Recently, I had a closer look into the issue of page speed. I found that although the RP Photonics website already scored quite well compared with various other big photonics websites, it was clearly not yet ideal in terms of speed. I then invested quite some time (mostly in December 2020) into improving that substantially. While some improvements could be implemented quite easily, others required substantial work.

For example, most images are now offered in the relatively new WebP format, which allows for substantially better compression and thus for smaller files, which can be more quickly transmitted. Unfortunately, some older browsers do not yet support that image format, but for those the implemented code offers traditional JPG and PNG images as a fallback solution.

The page speed also benefits from now using a more modern web server in November 2020, which uses NGINX mainly for caching. A couple of glitches occurred after that change, but were ironed out after a few days.

I considered also to employ a Content Delivery Network, where e.g. American users would directly get the content from a nearby server in the United States. However, I decided against that due to unresolved issues with data privacy; I want the data to stay encrypted until they reach our server in Germany. Also, I found that our website is already very fast despite the transatlantic data transfers, so that there would be a quite limited potential for further improvement.

If you are curious, compare the speed of some of our encyclopedia pages with articles on other websites, for example using Google PageSpeed Insights or with Web Page Test.

Mobile Usability and Responsive Design

Mobile devices like smartphones and tablets are more and more used for browsing the Internet. The trend is less strong for very technical websites, where one would usually prefer to use a desktop computer. However, even there one should not ignore mobile users and thus optimize pages for good mobile usability. This is also closely observed by Google and other search engines, and influences the search engine ranking at least in search results for mobile devices.

The most important aspect of mobile usability is a so-called responsive design of web pages. Essentially, that means that web page can be easily used even on devices with relatively narrow screens. For that, one needs to automatically rearrange items on the pages, sometimes even completely dropping some of them for small screens. That is enabled by various modern features of CSS and Javascript, but getting good results takes a lot of time and thoughts.

Another issue is page speed (see above); this is particularly important for devices connected to the Internet through slow wireless connections.

I think the reached mobile usability is now quite good, but one needs to work on such issues again and again.

Further Usability Details

There is again and again a lot of work going on to optimize many details of the user experience. For example, particularly when new content is added, one needs to optimize the menu structure to make the content well accessible. Sometimes, it is work on really small details, not easily recognized by many users, which nevertheless help to quickly find the required content.

Code Modernization

The software technology behind the World Wide Web is permanently developed further, and one should regularly invest time into keeping a website up to date concerning the used technical features. While the users would in most cases not directly recognize such improvements, those efforts can produce significant benefits of many kinds. For example, they allow more elegant solutions which may benefit page speed (see above), support responsive design, make it easier to implement new features, and help to discover and fix errors more easily and quickly. In addition, search engines like Google may take into account various technical details when determining the ranking of web pages.

In this context, I also substantially expanded my knowledge and experience concerning JavaScript programming. While that language has in earlier years only provided relatively simple and crude features, it has developed enormously into a rather powerful language. That often allows much more compact and elegant solutions, which can also be more efficient. By the way, I also enjoy the intellectual challenge of learning about various advanced features of JavaScript. A very well written book on JavaScript helped a lot.

I also greatly cleaned up the CSS code, now using the cute Sass tool.

I also adopted other powerful software tools for regularly checking the HTML code for correctness, finding broken links etc.

Security

It would be very naïve and wrong to think that Internet security is not an issue for a website like that of RP Photonics, where essentially you get scientific and technical content and do not enter personal data. For example, it is very important to encrypt the communication between web browsers and our server with HTTPS (which we have introduced quite a number of years ago), even if the transmitted data are in no way critical. Imagine, for example, a user browsing the encyclopedia on a notebook in a hotel, using non-encrypted WLAN. If we wouldn't use HTTPS, a malicious hacker in another room of the hotel could (after tricking the computer to use his own WLAN hotspot, which is named after the hotel) inject malicious code, with which he could hijack the user's computer. It wouldn't be enough for me to say that the malicious code didn't come from us – I don't want anyone to be at risk when using our website!

I just checked that Mozilla Observatory still gives us the security score A^+, far ahead of important competitors who partly get the worst score F. And that doesn't even take into account issues with their US-style privacy policy.

Cross-Site Scripting

Another issue is Cross-Site Scripting. I realized that it is pretty hard to guarantee that none of the numerous web pages offers any opportunity for a hacker to inject JavaScript code e.g. via URL parameters in a link, posted in an Internet forum. (Sometimes, I was frightened to see innocent looking code snippets when learning how they could be exploited.) So I decided about a year ago to introduce another line of defense: a Content Security Policy (CSP). Essentially, it means that we tell the web browsers which potentially hazardous features we do not use on our website. For example, we declare that our pages never load JavaScript code from external domains. So if any attacker could inject JavaScript code is through a remaining XSS issue, he would nevertheless fail to let browsers load malicious scripts from other servers. Some of the adopted rules – for example, avoiding “onload” handlers defined in the HTML code –, required substantial adaptations, but I did this due to the substantial improvement of security obtain that way.

For details, see the Spotlight article of 2020-01-20.

Summary

Have seen that an enormous amount of work goes into the further development of our website. I think this is quite justified, given the huge number of users worldwide who profit from our resource. Internet technology allows us to draw enormous benefits from the hard work of even a single person. As a result, we are also doing very well; in fact, 2020 has been an extraordinarily good year for RP Photonics.

I also hope for further improvements of our already very high search engine rankings, with benefits also for our advertisers.

Thanks to Our Sponsors

Note that the development of our website is supported by a number of sponsors with a yearly financial contribution. (You see their logos regularly coming up in the header section of the encyclopedia pages, also on this page.) This concept really makes sense: the sponsorships allow and motivate me to invest even more time into further improvements, thus benefit the whole community, and the sponsors receive additional recognition and the sympathies of many users. If you are working in a company, maybe you could drop a useful suggestion somewhere!


This article is a posting of the Photonics Spotlight, authored by Dr. Rüdiger Paschotta. You may link to this page and cite it, because its location is permanent. See also the RP Photonics Encyclopedia.

Note that you can also receive the articles in the form of a newsletter or with an RSS feed.

Questions and Comments from Users

Here you can submit questions and comments. As far as they get accepted by the author, they will appear above this paragraph together with the author’s answer. The author will decide on acceptance based on certain criteria. Essentially, the issue must be of sufficiently broad interest.

Please do not enter personal data here; we would otherwise delete it soon. (See also our privacy declaration.) If you wish to receive personal feedback or consultancy from the author, please contact him, e.g. via e-mail.

Spam check:

By submitting the information, you give your consent to the potential publication of your inputs on our website according to our rules. (If you later retract your consent, we will delete those inputs.) As your inputs are first reviewed by the author, they may be published with some delay.

preview

Connect and share this with your network:

Follow our specific LinkedIn pages for more insights and updates:

Code for Links on Other Websites

If you want to place a link to this article in some other resource (e.g. your website, social media, a discussion forum, Wikipedia), you can get the required code here.

HTML link on this article:

<a href="https://www.rp-photonics.com/spotlight_2021_01_06.html">
Article on Improvements of the RP Photonics Website</a>
in the <a href="https://www.rp-photonics.com/encyclopedia.html">
RP Photonics Encyclopedia</a>

With preview image (see the box just above):

<a href="https://www.rp-photonics.com/spotlight_2021_01_06.html">
<img src="https://www.rp-photonics.com/previews/spotlight_2021_01_06.png"
alt="article" style="width:400px"></a>