Welcome to our blog

Here you will find our latest web design, email and internet security related articles. Take your time to post a comment / question and rate topics that you find interesting.

If you have a high quality article related to our topics, contact us and we will consider to place it on this blog.

  • Platform monitoring

    Sun, 15 Jun 2008 12:53:00 CET - by Martin, SmoothStep

    This is short introduction into web site performance improving concept from the hardware, software and application perspectives. While there are other indicators of how web site performs (SEO, ROI) here we will talk specifically about analyzing web site speed, most important parts of the website, which can hog you down and especially about large web applications, which are designed to be scaled continuously in the future. While this article concentrates specifically on web sites, provided rules can be used to analyze any kind of project.

    It is simple, but takes time

    There are three basic ingredients of successful scaling of web application: analysis, clear action plan according to data from the analysis, execution of the action plan according to action plan and not deviating from it. Then the loop starts again.

    Before we will dig deeper in those three phases - we have to make some important points:

    It is ongoing periodic work, not one time fix every change must be measured and its impact documented for the future it is not about Linux performance tuning (or FreeBSD, windows - any operating system), apache, mysql or other software components of the application - the main thing on which you will concentrate most efforts is your website.

    Analyzing the enemy – approaching the battleground

    This is starting point and it is very important one – you always need to analyze your systems to know what is going on and why. Like spies before entering foreign country, you must analyze what resources do you have, how they are used, what are main bottlenecks, is it specific to your application or is it well known limitation with software tools you are using. It is so important - that we will stress it again - you need to know where you are before you are going somewhere else in the future.

    In the first stage of analysis you need to have at least general view of your application components DOCUMENTED - it can be a picture from whiteboard or six hundred specification documents - your call, but it is a must to have. If you currently do not have it – make it, you will find interesting and important things while doing it (for example – that there is no one person, who knows everything). Every time you will want to analyze and improve web application - you will be bringing the document with you and showing it to other people for them to understand, make comments and improve it. In the document you must have information about components used, software, servers, and flows between various parts of application.

    The best practice is to start this document when application is being designed and constantly updates if anything changes. Simplicity and clear view is the key here. Schematics with every small detail will provide you too much information. Generally it is suggested to have a diagram in one page, which you could hang on the wall for everyday usage. If you don't have such overview of your web applications - there is no point to read more. You need to make it before reading more.

    Still here? Now let's start with real time performance monitoring. In this part you have very clear view on what resources you have and how they are bound together, but you do not have any idea how do they perform and what are important things to consider - you have an understanding about what car you are driving, why wheels are important, but you still don't have dashboard with indicators. From the performance point of view there are three simple groups:

    • How is hardware being utilized - maybe some servers are overloaded, but others are doing nothing?
    • How fast are components of your application and application itself - what is the status of database, image processing scripts, and page generation times - which are the slowest components?
    • How we correlate performance with systems status - here we will combine system resource usage statistics with web site counters - how many users, how many pictures served and other interesting things real time, so we can conclude what is needed to provide service to users.

    Steps to be implemented for real time data gathering:

    Choose monitoring solution, which is suitable for your need

    Choose monitoring platform. You can go with Nagios, Zabbix or any other tool available. According to chosen indicators above - some tools will already provide means to gather the data without custom scripting. Some of the parts will have to be scripted in house though.

    Choose what is important to monitor and what is not

    Choose indicators you will want to follow, here is the list of the most common:

    • cpu usage
    • memory usage
    • disk input/output
    • network utilization
    • page load times
    • user sessions
    • web server requests per second
    • web server cpu usage
    • database query count (read/write queries separately)
    • database index usage, cache usage and other information, which could be taken from database statistics.
    • any other counter, specific for your application (i.e. - pictures uploaded, videos streamed, etc)

    Review periodically gathered data

    Plan weekly reviews of all data gathered and make sure that everyone attending has clear understanding on how to interpret values.

    From this point of view your car has dashboard and you know if it is speeding, has enough gas to run or not, is electronics working, seatbelts are on etc - it is much easier to spot a problem now and to take care of it.

    3 stars | Comments 0 | Post a comment | Read

  • Server side website caching

    Fri, 2 May 2008 14:18:00 CET - by SmoothStep

    Server side cache is a software component that allows saving and reading temporary information that takes a long time to compute.

    Such technology is used to improve website speed:

    • During first request information is generated and stored to cache files.
    • During following requests data is simply loaded from website cache, bypassing computing.

    To speed up dynamic website data caching mechanism must be equipped with some kind of destructor that would delete cache data when website has been changed; otherwise it would prevent latest information from being displayed.

    Expiring cache

    Such mechanism adds expiry date to cache file; cache is recalculated if sever date surpass cache date.

    Expiring cache is very useful for web applications that contact 3rd party server to receive data that changes continuously.

    Let's say we are building weather plugin that contacts weather server to get forecast for 7 days. It takes somewhere 0.5s to 3s to contact weather station, so if we would have an application that waits for weather data with each request our website would slow down to weather server response time.

    By using expiring cache we have to contact weather server only once a day with first request, further requests are retrieved from website cache in less than 0.01s

    Persistent cache

    Persistent caching provides best performance for internal server computing. Functions that provide server side website update, also delete cache files so they are reloaded only if information is changed.

    What do we store in web cache?

    Cache engine is used to store a set of variables depending of what are the slow parts of the system. Let's say we need to display database table: we can cache database records (SQL cache) or whole HTML code (buffer cache) as a variable.

    Caching database records

    We can cache database records needed for our table, so that database server would be contacted only when database is changed.

    Caching buffers

    If we choose a to store whole HTML code as a variable we might gain a bit of website speed but our table might loose flexibility if we need to display some dynamic content in one of the cells.

    Buffer is very useful to display complex navigation menus as their computing requires more than one database call.

    Caching technology in Smooth Step CMS

    We took advantages of different caching technologies and implemented them to our content management system. It uses expiring cache to display weather forecasts, manual cache for website and CMS output. Database records and buffer arrays are both used to achieve best possible website performance. Caching technology allows us to develop large websites (might contain thousands of pages) that load fast.

    3 stars | Comments 0 | Post a comment | Read

  • Choosing website page names

    Thu, 20 Mar 2008 18:36:00 CET - by SmoothStep

    Firstly one needs to understand the difference between static and dynamic page names (URLs).

    Dynamic Pages

    Dynamic URLs are designed to send variables to a website page so it could perform a specific task that usually generates dynamic results. Dynamic page names contain a single question mark that separates name from variables sent. Example name "product.php?a=1&b=2" would pass variable a=2 and b=2 to "product.php" script file that would generate some response.

    Such technology is very useful for web application programmers but it down-performs in search engine listings. Search engines prefer static pages that are considered to change less often over time.

    Static Pages

    To explain static URL prototype we are going to use two examples: "product.html" and "product.php".

    Classic static URL example consists of name and extension. Page extension indicates technology ("html" says that page uses Hypertext Transfer Protocol) or a programming language ("php" extension indicates that page is generated on the server using PHP script).

    Many consider that pages with extension other than "htm" or "html" are worth more than those with server side scripting language indicators (like PHP, ASP and others).

    If you will search for "search engine marketing" in Google and look at URLs of first 10 web sites, you will notice that many extensions are present. This indicates that search engines don't really care about extension used as long as the page represents useful information for the reader.

    User friendly URLs

    Friendly page names are static URLs with no extension at all. Such URLs are very useful for users as they are easy to remember (web-design, contact, shop etc). Extension-less choice also protects page names from becoming obsolete if different web technology is going to be used to display them in the future. Such names can be achieved by using URL rewriting technology.

    URL rewriting technology

    Rewrite engine is a special software component on the server that modifies domain names before they are processed by scripting language. It is used to convert dynamic URLs to static ones.

    Dynamic page:
    product.php?type=computer&subtype=portable&id=34

    Can be changed to static page:
    product/type/computer/subtype/portable/id/34

    Or:
    product/computer/portable/34.html

    Or simply:
    product/computer/portable/34

    Rewrite engine is very helpful to maintain static URLs for complex database driven websites, where parameters have to be sent to display products. Dynamic pages are usually not cached by web browsers so by using rewrite technology one also increases overall web site performance.

    Apache web servers have built-in component called "mod_rewrite" which allows setting up rewrite engine by uploading RegExp (Regular Expression) rules to ".htaccess" file. For those who use Windows based servers - Free IconicIsapiRewrite plug-in can be installed to achieve rewriting.

    3 stars | Comments 0 | Post a comment | Read

  • Popular web browsers

    Fri, 25 Jan 2008 14:38:00 CET - by SmoothStep

    Mozilla FireFox

    Firefox internet browser logo

    Mozilla FireFox is a free cross-platform web site browser available for Microsoft Windows, Mac OS X, and Linux. Firefox web browser offers: tabbed browsing, integrated download manager, internal search and source code viewing facility.

    From security point of view Firefox browser is much safer than Internet Explorer; it also renders web sites more correctly.

    Opera Web Browser

    Opera web browser logo

    Opera is a very flexible free web browser (works on Windows, Linux, Mac OS X, Smartphones, Nintendo DS, Wii) and a brilliant internet suite that also handles e-mails and chat.

    Rich in useful features like tabbed and speed dial browsing, pop-up blocking, privacy control, standard support etc., Opera browser stays as a good choice for a modern internet user.

    Microsoft Internet Explorer Browser

    Microsoft internet explorer browser logo

    Internet Explorer is the most popular web browser of the present time. Since it is included (and can hardly be removed) to Microsoft Windows operating system that is used by 90% of all home computer users, for many it is the only browser they know.

    Older versions of Internet Explorer (including 6-th version that comes with Windows XP) have serious flaws in security and CSS rendering, however Internet Explorer 7 seams to have many of those errors fixed offering reasonable features and security.

    Apple Safari

    Safari web browser logo

    Safari web browser has been built by Apple Computers. It is included into Mac OS X operating system. Recently a beta version of Safari web browser was produced for Windows operating system.

    Safari browser features: Mac's bookmark system (similar to the one in iTunes), integration with QuickTime technology, tabbed browsing, add and image blocker, and much more...

    Netscape Navigator

    Netscape navigator logo

    Netscape navigator once was one of most popular web browsers. In 1998 Netscape was announced to be free of charge and since then it was co-developed by Mozilla open source community.

    Due to large amount of features Netscape offers, it takes longer time to load; it also has flows in visual appearance (HTML standard support) of many websites.

    3 stars | Comments 0 | Post a comment | Read

  • Antivirus

    Mon, 12 Nov 2007 13:32:00 CET - by SmoothStep

    Viruses damaging your system :)

    Worms and viruses are malicious programs that have an ability to replicate themselves. Viruses are designed to add their code to executable files of third party software, while worms simply add their files into system folders to be executed on system startup.

    Trojan horses – Programs that allow user's computer to be controlled remotely; a hidden functionality user would not want.

    Computer anti virus software is usually used to protect from possible threats. There are many commercial solutions available, however more expensive solution doesn't necessarily protect better.

    Recommended software

    Avast features powerful scanners and real time virus protection

    For home users we recommend free anti virus software – Avast anti virus. It is free of charge for non commercial users and yet powerful anti virus solution. Those who don't earn from the internet should not pay for virus protection software.

    For business users we would recommend Panda Antivirus, Avast Business Edition, Kaspersky or any other well known commercial anti virus solution.

    3 stars | Comments 0 | Post a comment | Read

  • Email security

    Fri, 5 Oct 2007 16:13:00 CET - by SmoothStep

    Email service is often abused because of its democratic nature. When user publishes email address as text on the website it takes only a few days for pharmaceutical, scam or other type of email spam to arrive. Spam email message usually contains viruses or spyware packed with good looking text. Very often spam message says “open the attached document” or “your account details are attached”.

    It is very easy to protect yourself from spam and email viruses, simply:

    • Do not open any email attachments from the people that you don't know.
    • Do not send your personal information to anyone who you don't know. Popular email scam messages indicate you have won a lottery in order to steal your personal information.
    • Use antivirus and antispyware software and it will automatically delete infected email messages.
    • Install email filtering software that analyzes content of the message and filters if it fits unwanted email pattern.

    3 stars | Comments 0 | Post a comment | Read

  • Internet security

    Mon, 1 Oct 2007 20:21:00 CET - by SmoothStep

    Computer security software is crucial for computer internet protection

    Enormous boom of internet expansion led to complex and highly automated technology development that is hard to secure. Internet faces a huge variety of threats because it totally depends on computer software that is vulnerable. Black hat programmers analyze such vulnerabilities and develop malicious software that takes advantage of software bugs to gain access to computers that are connected to the internet.

    Damage of such illegal activities varies from simple vandalism that leads to loss of data or denial of a valuable service to sensitive data theft that might lead to loss of privacy and money.

    How to protect your computer from spyware and malware

    Choose an appropriate web browser
    Internet Explorer is known to be very vulnerable, keep it for viewing pages that you know to be good, choose a secondary web browser, such as Mozilla Firefox, for viewing web-pages that you don't know.
    Use updated software
    Make sure that your web browser is not an outdated one.; Latest versions usually have many popular bugs fixed.
    Avoid bad neighbourhoods
    Try to avoid questionable sites that might have malicious software.
    Don't click on popups
    Avoid clicking on popups even if they are similar to operating system messages. Computer spyware hides behind “Your computer might be at risk” and similar popups.
    Do not install unknown software
    Do not agree to messages asking to install of unknown software or plugins.
    Install effective antispyware solution
    Anti spyware software scans the information you are receiving from the internet and alerts if possible threat was detected.

    Antispyware and anti virus software

    Real time virus and spyware scanners offer reasonable protection from al types of unwanted software that is received from World Wide Web, email or other sources. Such computer scanners are designed stop malware before it could do any damage.

    Besides of antispyware and anti virus solution one can choose protection tools that limit internet connection to deny unauthorized access.

    Firewalls and routers

    Computer firewalls offer computer protection by limiting internet connection

    Computer firewall is internet connection filtering hardware / software designed to block all traffic except through the ports that are needed for installed services. This helps to protect your computer from unwanted connections.

    Network router is a configurable internet rooting device. It can be configured as a firewall allowing specific computers have specific ports open.

    Routers and firewalls offer reasonable computer internet security as vulnerable operating systems become isolated from unwanted connections from the internet.

    3 stars | Comments 0 | Post a comment | Read

  • Main browser features

    Sat, 15 Sep 2007 15:19:00 CET - by SmoothStep

    Basic internet browser features
    1. Navigation buttons

      Used to go back and forward while browsing. If you are in a home page of some site, then you go to contact page – Back button would bring you back to the home page, if then you would click forward button it would bring you again to the contact page. A small arrow next to navigation buttons brings up a quick list of all back/forward web pages available.

    2. Refresh button

      Used to force web browser to reload webpage. Modern web browsers use caching mechanism (store local copies of visited pages to speed up performance) that sometimes prevents seeing the most updated information; by clicking refresh, latest version of the page is forcefully reloaded.

    3. Stop button

      Cancels web browser's communication with a server and stops page loading. Very useful to stop malicious sites from loading if accidentally entered.

    4. Home button

      Loads predefined home page. You can select any page as browser's home by clicking on tools menu and selecting options.

    5. Web browser's address bar

      Used to enter website's internet address. Address bar works as a dropdown menu showing all previously visited sites. At the end of address bar you will find go button, that is not very useful as by simply clicking enter (after typing or selecting a domain name) you will be directed to the site.

    6. Integrated search

      Relatively new feature in web browsers. It allows selecting your favorite search engine and doing a quick search by typing in a search term.

    7. Tabbed browsing

      Gives and ability to open many websites on a single web browser's window – very helpful when reading several websites at the same time. I.e. if you want to open several links from a website without loosing it, you can right click on each link you want to see, and select open in a new tab option.

    8. Bookmark buttons

      Custom user defined buttons that redirect to chosen websites - Very useful to configure web mail and other often visited sites. Check Mozilla Firefox browser for live bookmarking.

    3 stars | Comments 0 | Post a comment | Read

  • E-mail software

    Fri, 10 Aug 2007 02:53:00 CET - by SmoothStep

    Free email software for business users

    Email application uses POP3 mail servers to receive emails, and SMTP servers to send them.

    These incoming and outgoing email servers have to be configured properly before one can start sending and receiving messages.

    Advantages using email software

    Local email messages
    E-mail messages are available locally, internet connection is needed only while sending and receiving.
    Email filtering
    E-mail software can be easily configured to filter unwanted email messages (anti-spam).
    Multiple accounts
    E-mail software can be configured to send and receive messages from multiple accounts automatically. There is no need to enter passwords for each account.
    Email templates
    E-mail software supports custom email templates that serve to provide quality business interface for the client.

    Popular e-mail software:

    Mozilla Thunderbird logo

    Mozilla Thunderbird email client - Is a free email and news software developed by Mozilla Foundation. available for most popular operating systems including Windows, Mac OS X and Unix. Thunderbird features: easy-to-use interface, -multiple accounts, secure protocols and personalization.

    Opera mail client logo

    Opera Mail client is a flexible, cross platform free email software integrated with Opera web browser. Opera mail client features email filtering (to display only those that are related to a certain topic), automatic spam detection, contact management, e-mail labeling, retrieval and management of news.

    Microsoft Outlook logo

    Outlook is an e-mail client available as part of the Microsoft Office suite. Outlook is known to be highly insecure email platform. It also takes long time to load (compared to its competitors); frequent crashes are also reported.

    3 stars | Comments 0 | Post a comment | Read

  • Web mail

    Sun, 15 Jul 2007 15:14:00 CET - by SmoothStep

    Web mail account

    Web based email is a service that allows to access and use electronic mail via web browser. In this case email software is running on a web server allowing client to log-in and perform all the necessary tasks directly from the website.

    Web mail might be unsuitable for business users that use many email accounts; it might be annoying to check all those accounts by logging in to each of them separately. Such users should use email software.

    Web mail providers

    There are many free web based email providers; however they offer web mail accounts with their domain name. Free email providers often include ads to their service, sometimes ads are also sent together with every email message.

    Most of free email accounts are incompatible with email software simply because their providers force clients to use web service to promote their name; also to view ads.

    3 stars | Comments 0 | Post a comment | Read

  • Welcome

    Mon, 4 Jun 2007 14:33:00 CET - by SmoothStep

    We have released this blog to share our knowledge by providing useful articles related to website construction and safe internet usage.

    Our blog comes equipped with a facility that allows posting comments with each topic. We hope that visitors will also share their thoughts making our articles even more useful.

    Blog and article section also stands as a good example of a blogging tool that is fully managed using Smooth Step CMS.

    3 stars | Comments 0 | Post a comment | Read



Web Packages

Simple websites

Basic package

Package includes simple menu, unique design and our CMS - Low budget solution ...

More info »

Content rich websites

Medium package

Content rich website design - multiple sections, multilanguage support and our basic SEO ...

More info »

Online business ready

Advanced package

Multilingual e-commerce website design - static product pages, RSS feeds and our advanced SEO ...

More info »

CMS Video Demo

Smooth Step CMS video demonstration

Basic featurs of our content management system can be seen in video section.

View demos »

Latest articles

© Smooth Step 2007-2008. All rights reserved.

xHTML | CSS accessibility standard - Sitemap