Developer Blog


<< Previous   Search   Next >>

I admit: my hosting business has been shrinking year after year. Somewhere between 2007 and 2010 I hosted 1200 QuickerSites on a single Windows 2000 Advanced server. That number has gone down to 230 today. 

For some years now I'm using a Windows 2019 server in the AWS Public Cloud (EC2 instance). I recently downsized that EC2 instance from a t2.large to a t2.medium instance type. This took 5 minutes in the AWS console. Piece of cake. This little trick saves me about 600 USD/year, a very nice New Year's present.

I now have 4GB of RAM to host 230 QuickerSites. An average QuikerSite requires up to 15MB of RAM. My server will therefore not easily run into trouble. And if it does, there are some tweaks to keep memory usage under control. 

The most important (and easy) tweak is to lower the value for the default IIS application "idleTimeout". By default an IIS application times out after 20 minutes of idle time. So, if a website is not active for 20 minutes, IIS releases the RAM used by that application. Changing the default idleTimeout for all sites to 10 minutes does not cause major issues, but helps a lot to keep RAM usage under control.

Happy new year to all QuickerSite users and classic ASP/VBScript lovers!

UPDATE! Mobirise no longer sells lifetime licenses like it did back in 2019-2020. It only sells yearly renewable licenses today. Make sure check out their license policy on their website!

Google sites are extremely boring (because very limited) after all. So I rebuilt the website of my wife's dental practice www.ortholubbeek.be in Mobirise 4.12.4. I bought a full Mobirise4 license back in 2020. As a matter of fact, it was a lifetime license so I am still able to download and use all extensions and templates for Mobirise4. For the first time I even realized that I can save any block from any template and use it everywhere I need it... This way, I have 100's of different blocks at my fingertips. The vast majorty of Mobirise4 blocks are still very useful. I see no reason to upgrade to Mobirise5 at this point, but I might do it anyway later on this year when they have these black friday and cyber monday deals. 

Mobirise is for me what Elementor is for WP users I guess. Can't live without it!

Ow... and before I forget, I have released QS v433 yesterday. It introduces the nice Google Material Icons in the backsite. No reason to update any previous version. But for new projects (if any) you can better use v4.3.3.

Google Sites is getting somewhere! Google gave it a big update last summer. It's definitely worth to take a closer look. So far I have created 3 sites with Google Sites. One of them is my band's site.

Pro's:

  • 100% ad-free all-in-one hosting solution 
  • Use your own domain (multiple domains are possible)
  • Sitesearch included by default
  • GDPR-compatible cookiewarning
  • Google analytics-ready
  • Easy to add a favicon, logo and branding
  • Various header& footer-options and sticky topmenu
  • Scroll-to-top icon
  • Very userfriendly and complete text and image editing
  • Intuitive placement of any element on a page, keeping it 100% responsive thanks to a powerful 12-column grid-system.
  • Pretty nice mobile hamburger menu (slide-in)
  • Neatless integration with all other Google products, like Youtube, Forms, Docs, Maps, etc
  • Easily add multiple editors for a given site or hand over its ownership
  • I expect a Google site to be SEO-optimized?
  • Free SSL certificate included
  • Forgot to mention: it's all free, free, free!

Cons:

  • Google Sites is not a CMS. It's a basic webpage builder. It's therefore not possible to use it as blog-engine, a newssite, an intranet portal, an e-commerce site nor as any other website where you need to manage lots of different types of content.
  • Images are not automatically resized/optimized for the web. Therefore sometimes images are loading too slow, causing a page to act weird before it's completely loaded.
  • I also miss a lightbox-plugin for images
  • No one-click add-ons like e-commerce, intranets, forum-plugins. Google sites are quite "basic". There is a way to embed any HTML-snippet though.
  • Not possible to develop plugins for your site
  • Not possible to apply custom CSS and/or add JavaScripts
  • Not possible to turn your site into a PWA (Progressive Web Application)
  • Very limited templating-capabilities. All you can play with are some colors, images, font-families and font-sizes.

All in all, I think Google beats Mobirise in some domains, especially when it comes to placement of elements. Mobirise is to limited when it comes to placing elements on a page. Especially Google's text-editor is pretty complete.  Mobirise adds more beauty, whistles and bells out of the box though.

I often receive messages like the ones below. It's striking how many of us classic ASP developers share the same feeling. Left alone in the woods with our ASP-scripts and functions that passed the test of time (some of them are working flawlessly for 25 years now, on all Windows Servers).

I am moved with your back stories with the development of asplite. I am an ASP web developer since 2004 and still using asp classic as for my freelance projects. I can relate on the struggle on having shared hosting upto know and I would love to learn more about AWS EC2 instance and own a hosting server like what you did. I'm happy to know that there are still believing in the power of Classic ASP.
I like your work! Contrary to what the muppets say, Classic ASP is not dead. There is nothing that one cannot do with ASP. In fact I have written desktop applications in ASP... cannot do that with PHP. You may recall SOOP? It had a huge following and a lot of devs for a lot of useful plugins. Not sure what happened with that even though I was one their plugin devs. Perhaps it was the cost of web hosting vs Apache servers and WordPress. Good luck with your CMS.
I've just found your web site for the first time today and I just wanted to say thank you for doing it. I've been using Classic ASP since the late 90s and still use it today for projects even though I've been jeered and sneered at for doing so. It's great to see there are other people still out there using it for real and still flying the flag :0)
I found your page by chance, because I was looking for something in ASP that would work with the "DataTables | Table plugin for jQuery"... congratulations for maintaining this site. Hope you are still working with ASP...thanks.

After struggling for months with this, years actually, I will try come up with a mobile first web application that takes care of the various playlists I go through as a live performer. Below the first brainstorm of the datamodel. 

A user can manage multiple bands. The user can add songs (by artists) to both playlists and rehearsals. At the gig, the musicians can download lyrics, chords, scores related to the song to be played. 

Songs can have multiple genres, a language, an "ambiance" and a duration, so that it is very easy to generate playlists based on specific requirements, like "lets start and end heavy", or by timing-constraints.

This is only a very early idea. I welcome all suggestions!

I feel bored lately. Live example.

Once again, Google has blown me away (it still is... no idea where this will land actually). Never heared of it, until yesterday. Google's Material Design. Material Design is Google's open source design system for Android, iOS, Flutter, and the Web. On a side note, the implementation for the Web isn't ready yet. I can't wait for that to happen though.

I came accross Material when searching for open source icons. As much as I like Font Awesome for pioneering this area, it looks like they got far behind on the competition.

I was thinking, there must be an alternative to Font Awesome. That's how I found Google's Material Symbols. 2875 open source icons, free to use (compared to only 675 in Font Awesome 4.7.0.)

All it takes is:

Because I was busy doing QS-stuff anyway, I gave this a whirl:

Even though this feels like restoring an oldtimer by repainting it, you have to admit... it makes QS look a little less 90's. And on top of that, I got rid of 68 ugly gifs in the QuickerSite codebase. Cheers on that! 

This feature is available in the lateste codebase (not released yet) on GitHub.

I've made a small cosmetical change to QS. The changes are available on GitHub. The only files that changed are /asp/includes/javascript.asp (needed) and some more in the /asp folder (but you don't really need those).

I have used some more padding, a less agressive border-color and rounded borders for text-boxes, selectboxes and textareas. This affects both the backsite and some modules in the front (forms, polls, myprofile, guestbooks, etc). It somehow makes QS look a little less nineteeny I think. Hope you like!

It sounds like a wrong idea to even search for and use it. But it's not. I'm hosting both pietercooreman.be and asplite.com on 100% free static website hosting for 3 years now. On GitHub pages. GitHub pages offers pure static website hosting (no server-side scripts allowed) for each and every project you have on GitHub. SSL is included for free as well!

Two minor limitations

  1. Published GitHub Pages sites may be no larger than 1 GB
  2. GitHub Pages sites have a soft bandwidth limit of 100 GB per month. 

I admit, I've become a big fan of GitHub pages, pretty much like I've become a fan of static websites builders like Mobirise and Nicepage. Or Bootstrap if you like to handcode your own. Combined with some embedded widgets, you're all set. Check out this list of popular website widgets. Why would you still need a CMS today? And what happened to Webmatrix, the most intuitive web development IDE that MicroSoft ever built? Why was it replaced by Visual Studio Code, the darkest and most depressing code editor ever?

You find a lot of tutorials on how to use GitHub pages. Check them out!

Update: the solution discussed below is generating CORS errors in JavaScript. Long story short, you need to allow CORS in IIS.

While VBScript is equipped with asynchronous components (httprequests, shell), when using them in ASP they're always synchronous. Classic ASP does not support asynchronous calls whatsoever. Classic ASP follows a strict set of sequences, which means that operations are performed one at a time, in perfect order, top to bottom.

Why would you need or use async calls in ASP? Imagine you want to run a véry long process after clicking a button: generate 10000 documents, or send out 10000 emails... This is not something you want the visitor to wait for. These things can take many hours.

There is a way around this limitation though. The solution: AJAX calls. Rather than perform async calls serverside, you can let AJAX do the job. AJAX calls are always asynchronous. The browser will never wait for an AJAX call to finish when loading or browsing away from pages.

However... Imagine you're browsing www.quickersite.com. You click a button that loads www.quickersite.com/ajax through AJAX. If www.quickersite.com/ajax takes 10 minutes to finish, your browser will wait 10 minutes before you'll be able to further browse www.quickersite.com. This is not what we want. We somehow shift the problem from the server to the browser.

There is a way around this. Instead of loading www.quickersite.com/ajax, you can load ajax.quickersite.com. Browsers assume that www.quickersite.com and ajax.quickersite.com are two different websites. Loading ajax.quickersite.com will not block visitors on www.quickersite.com whatsoever. Problem solved.

Be careful though. When calling ajax.quickersite.com, you cannot rely on the cookies/sessions/application/security you have on www.quickersite.com. You have to program your way around that shortcoming by making sure there are no security-risks when loading external urls. You may need passwords or tokens to ensure that urls load only once, or load only under specific circumstances.

There is another thing to keep in mind when using ASP for long processes, like sending out 10000 emails. Make sure to set Server.ScriptTimeout to a large number (default is 90 seconds). There is no (documented) maximum value. You may want to set it to 10800 in specific circumstances, allowing an ASP page script to run for 3 hours.

The bigger issue is though: is it a good idea to let an ASP page run, unattended, unmonitored, disconnected from the browser...  for hours? Maybe not... or maybe not always. ASP pages are not designed to run eternally, that's for sure. IIS can - at any time - reload applications, be reset, or simply crash a site when it eats too much memory, just to name something. In some cases though, where pages are running for few minutes only - or do not need loads of memory -  this is a legitimate workaround. I have used this technique several times with success.

<< Previous   Search   Next >>

© QuickerSite webCMS 2024

backtotop