When building website especially social networking websites, there are multiple factors to consider. User's internet speed, network load with dozen concurrent users, performance of application codebase, page size, feature-set, optimization of images. Some of these factors you cannot control but you can lay some ground work for those cases so it still works best.
One top factor for us at Ecency was speed. Now, website speed depends on multiple other factors. You can achieve highest loading speed, if your webpages are light in size. Your application logic is well written. Your infrastructure able to handle user load. Less external dependencies.
Light in size means, you have optimized each page so that it has less megabytes to travel across the globe. User has to download less and best optimized data. It has reasonable number of requests per page, minimal or smallest package dependencies so your bundle size is small and use better image optimizations. Users with slow connection, with mobile connection are able to enjoy the experience same as users in computers and fast WiFi internet connection. If you can achieve highest performance for slowest connections your users will likely come back and stay connected longer even in remote areas with 2G and GPRS internet connection.
As an example, let's take Ecency
Our https://ecency.com/hot page weights little over than 1 Mb and this size super small and best for website like ours. Even on mobile connection, it should load light fast. ⚡️
Remember, this ~1 Mb size is what user downloads in his phone or computer when they open the page, any subsequent reloads will be even less in size because of browser caching and
hot page having less frequent post updates. We are really happy and proud with this result so far.
Due to nature of Hive websites, we have to really consider image optimizations and size of each image to get balanced well quality image and best compressed size. You don't want to optimize too much by sacrificing the quality experience. Over last few months, we have made a lot of tests and improvements to make sure we have that balance. And it doesn't stop here, we will continue to do so. If you are building website or dapp or mobile app, please consider giving best user experience not only via User Interface but also with innovation and better user experience - balancing feature-set and speed.
It is important to use next generation image formats whenever possible. It offers your better compression in size and quality. We are doing all above in our new Ecency website. 🚀
Server side rendering
Server side rendering (SSR) is one of the mature and old techniques to have better performance and experience. Ecency.com does have SSR and we have learned last couple years on how to make it better. When we started Ecency (used to be Esteem), we built standalone apps, meaning we didn't have much server side scripts and we allowed user to connect any server they wanted. We were the only app who offered such feature back then. With time we learnt that in order for us to scale and compete with other social networks, we will have to open the gate and build both standalone apps along with the website. More accessible your service is the better it is. Right now, we have Desktop and Mobile apps which is mostly standalone and works out of box and if one server is down or in maintenance, you can easily switch the server and continue to be connected. In decentralized network, there are more unannounced server maintenance than announced ones 🙄.
Standalone apps are also different because they are client side rendering by default, meaning user's device does most of the work, rendering, parsing, etc. that's why they don't necessarily need backend much. But main advantage of SSR, it allows your website to load quickly if using very old mobile devices with less RAM and CPU powers, old computers alike. Your server does the heavy computations and sends mostly ready data for user browser. So we will continue to offer client side rendering as standalone apps (desktop and mobile) as well as server side rendering solution (website).
Innovation requires you to be open for new technologies to come and make use of those options which is best for your audience and users. We have more things to improve and make above stats 100% in all fronts. So we are making sure any new changes we do, will not put heavy load on all our users.
Try https://ecency.com and see how much internet data bandwidth you save each day and also experience fast, and lightning surfing experience on Hive!
Fastest blockchain deserve faster dapps!