SpaceNode: Better, Faster, Stronger

SpaceNode: Better, Faster, Stronger

Chief developer Alex Kent discusses the recent hardware and software changes to the SpaceNode Network that has resulted in dramatic improvements across the board. Discussion includes speeding up the network (hardware upgrades, moving to multiple web server platform, implementing load-balancing cache servers) and new features (Article Category block, Random Item block, Menu DropDown block).

Contents

SpaceNode Goes Supersonic

When we launched SpaceNode in February 2010, it was a joy to use but as more and more people discovered us, the system became noticeably slower. This was particularly bad once logged in, meaning that website visitors had a good experience but the people that actually pay the bills were sometimes inconvenienced. For shame!

So, for the past two weeks the development team went back to the drawing board to see what could be done to make SpaceNode lightning fast once more.

The first idea was to add more web server hardware so that each web server is doing less work.

We also decided to implement a web-cache system, so that javascript files, RSS feeds and images that don’t change very often are web served from memory by the cache-servers instead of by the web-servers.

Moving from one to four front-line servers did speed everything up, but not by the factor we were hoping for. After a thorough code-review, it became apparent that by running SpaceNode on multiple servers, the network chatter between each server node became a bottleneck in and of itself.

So we decided to focus our attention on rewriting the core part of the SpaceNode software that is responsible for logging people into the system and for checking security permissions. We discovered that by a clever use of caching, we could reduce the chatter by as much as 90% and that meant a substantial increase in performance.

This was fantastic in and of itself but the code review highlighted places that we could go even further to increase performance.

Firstly, we identified that people visiting multiple SpaceNodes were downloading the same set of common files and images for each one. Simply by putting these shared files in one place, it meant that as you move between SpaceNodes you’ll really notice the difference as the page loads up for the first time.

We love this because it really supports the SpaceNode concept that we should be networking our websites together and not setting them up in isolation.

Secondly, we have massively increased the responsiveness of the HTML editor so you’ll see it load up and you’ll also find updating content to be faster.

This massive SpaceNode software update was installed on Saturday, 27th March and already the results look exceptionally positive with quick logins and page-load times averaging between 0.03 and 0.10 seconds. I’m pleased to say that the SpaceNode network is a joy to use again.

This has been a fascinating two-weeks for all of us and we apologise for any slow pages you may have experienced whilst we were busy behind the scenes getting everything back on track.

It’s like we’ve got a bigger engine to pull a lighter car. Not only is the system quicker in day-to-day use, but it’s also got a lot more reserve power for handling those busier periods and spikes in demand. We estimate that the new combination of hardware and software means we could easily handle somewhere between 50 and 100 times as many SpaceNodes, network traffic and users as we do at the moment. That really is exciting.

The speed improvements also herald other benefits. For example, running SpaceNode on multiple servers means that if one of them blows up then the system should in theory continue without anyone noticing a difference.

We’ll also be able to add more servers behind the scenes without anyone being the wiser. Adding capacity to SpaceNode should now be a trivial process as all the teething problems have now been resolved for how to scale the system to potentially thousands of websites. Moving from one to two servers is much more tricky than three upwards.

So thanks for bearing with us. This work on our foundations has setback our plans by a couple of weeks, but I believe we are much better for it and I can’t wait to announce the new node-to-node networking features next month.

In the meantime, we have a few other important features to announce…

SpaceNode: Your International Friend!

A node owner from Germany put in a request to the SpaceNode developers that we support international characters instead of just latin English. So, going slightly umlaut mäd at SpaceNode HQ we are pleased to report that you can use pretty much any character you like as we fully support the UTF-8 character set.

The ContactForm module now has settings to allow you to edit the field labels. You need to click the ‘reset settings’ button to see this option.

The SearchBox block has also been updated, as it used to display the word ‘Search’ inside the search box which is obviously no good if your users can’t speak English. Now, the default behaviour is to copy (and remove any tags) from the blocks title.

New Block Plugin: Article Categories

Article Category Block Example on http://AlexKent.com/ Example of Article Categories Block

In the beginning when SpaceNode was “just a blog” we were all using the Article Module to display all the pages on our site. But as time moved on and SpaceNode developed into the power-house it is today, we don’t always use the Articles Module to display everything. For one, the Articles Module doesn’t hold a candle to the ContactForm Module for allowing people to contact you!

This change in how people use SpaceNode meant that on non-article module pages, the links to your article categories would not display in your ModuleMenu block.

To address this issue, we’ve developed a wonderful block plugin which allows you to permanently link to your Article Categories on your site, no matter how many Article Groups and Article Categories you have.

For example:

http://AlexKent.com/ has three Article Groups: News, Blog and MP3 Mixes. My Blog has three Article Categories (Food, Fun & Motorbikes) and DJ Mixes has three Article Categories (Hard-Dance Albums, Techno Albums & Trance Albums).

To display a permanent link to these categories, I’ve added a new block and set the plugin to ‘ArticleCategories’. It now displays on the left-hand side of http://AlexKent.com/ and lists all the article groups and categories on my site.

This is excellent for Search-Engine Optimisation, because the search-spiders that visit your site will see these categories and know that each link takes them to subject-specific content.

Article Category Instructions:

To setup Article Categories on your SpaceNode:

  1. Login
  2. Click on ‘Articles’ in the admin menu
  3. Choose 'Edit Groups' from module menu
  4. Click on the categories link in the row of the Article Group you want to add categories for. The text of this tells you how many categories you've already set up
  5. The Article Categories window will now display for you to add/edit/remove Article Categories. When done, click the X to close the window

New Block Template: Drop-Down Menu

A node-owner wanted to provide a drop-down menu for their SpaceNode and the developers here at SpaceNode HQ were only too happy to oblige!

For example:
At the bottom of each article on http://AlexKent.com/ I wanted to display a list of sections of the website that people might be interested in going to.

So, I:

  1. Created a new Block
  2. Set the plugin to ‘ArticlesCategories’
  3. Set the block-zone to ‘Module Bottom’
  4. Set the template to ‘Menu_DropDown’
  5. Clicked ‘Add Block’ to add the block

And the end result was:

Drop-Down Menu Block Template

 

Warning: These kind of drop-down boxes are great for real users – but SearchEngines can’t read them because they use JavaScript. Make sure you also have real-links to all the sections on your site which can be easily done by installing a site-map page using the SiteMap Module.

 

New Block Template: Random Item

SpaceNode blocks are very good at handling lists of items, be they from RSS feeds or manually entered via the MagicMenu block plugin. What we wanted to do with the Random Item block template was to only display one random item on every page load so it makes the page look dynamic and interesting.

This allows you to:

  • Have a list of quotes on your site that changes each time the page loads by setting them up with the MagicMenu Block Plugin
  • Display a random FaceBook status update by discovering your FaceBook status RSS feed and entering it into the RSS Block Plugin
  • Display the headline and link to a random article from your site or from another site using the RSS Block Plugin
  • Display a random picture from a flickr feed using the RSS Block Plugin

Example:

I already use the Flickr website to store some of my favourite photos and decided to add a bit more colour to my SpaceNode by displaying a random thumbnail picture from my archive. This is how I did this:

  1. Find your RSS feed URL in Flickr and then create an RSS block on your SpaceNode using the RSS plugin. In the block “Template” field, choose the option called “Random”
  2. Set the block settings to display feed images, enter your RSS feed and click “Save Settings”

You can see an example on my site http://AlexKent.com/:

Random Photo Block on http://AlexKent.com/

Because this feature is implemented as a template, you can choose a number of block plugins to choose from, or if you want to make your own list then choose the ‘MagicMenu’ plugin.

The links made by this block template are search engine friendly and do not use JavaScript.

HTML Editor: Font Size & Style

From feedback received, it became obvious that a key feature people were looking for was to be able to make text bigger/smaller and also to change the font.

We are pleased to announce that the editor has been updated with a ‘Font Family’ and ‘Font Size’ drop-down box.

eg:

HTML editor advanced control panel

Notes:

  1. Most SpaceNode Themes do not support changing the font style/size of bulleted lists
  2. If you do not see the 'Font Family' or 'Font Size' drop down boxes, it means that your browser has cached the HTML Editor. To force a refresh, hold down Ctrl key and press F5

Would You Like A SpaceNode?

SpaceNode allows anyone to create, maintain and enjoy having their own website. If you are looking for a website and would like to see what domain names are available (eg: http://yourname.com/) then visit our registration page.

Posted Mar 30, 2010
Comments