Posted on

Migrating from PHP to Node.js

Matt Quinn

I’ve been developing web apps in PHP for years but recently have been building more iOS apps. When I move back to web development I really miss the elegance of Objective-C and it’s MVC structure. I was able to find a similar structure for my client side JavaScript but my server side code was left to the confines of my comfort zone and PHP. The great thing about PHP is its ubiquity and low barrier of entry. You can get a web app up and working in almost no time however the code itself can quickly devolve to a mountain of spaghetti code. After almost every job I do using PHP I tell myself it’s time to start working smarter. I’ll then start investigating new frameworks for PHP and think about jumping ship completely to new stack that uses Java, Ruby or Python. I’ll start tinkering with the new approach and build out simple apps. What inevitably happens though is a new job comes in and I resort back to my domain knowledge of PHP. This is partially due to me, but at the same time its problem of the platform I’m trying to learn. I’ve found the entry points to make solid apps using other languages much higher than I did with PHP. This is partially why PHP is such a monster in the industry and why Rails and Django are typically relegated to the purists.

On top of all the popular alternatives to PHP there is a relatively new kid on the block called Node.js. When I started tinkering with Node a few years back it was refreshing to lean on the JavaScript knowledge I had to create server side code. However Node never seemed like it would be a realistic competitor to the big languages when it came to writing complete server side code; it was just too new and unproven.

Recently I took another look into using Node as my primary server side language and I was blown away with it’s progress and community. It has matured enough to be used as a essential tool for any web developer, but especially for UI/front-end developers. It was time to dig into Node again and see if it would break me away from PHP once and for all.

Node 101 Getting Node up and running on my MacBook was as simple as you could hope. Here is how the OSX install looks:

After that you’re ready to run JavaScript code on your server. The Node ‘Hello World’ app shows the basic code structure while at the same time illustrates that it’s a very capable web server. With only 2 lines in the terminal you’ll have all the power of JavaScript at your disposal and a web server to boot. Try it out, open a text editor and put in this code:

Save your file as app.js and from the terminal run:

Load up your browser and goto http://localhost:1337 and voila!

This gets you to where you might ask, “ok, now what?” At least that’s what I did when I first gave it a crack. I didn’t know or understand how to apply any of my existing knowledge on how to build out a real proper web app from this example.

NPM Node gets really powerful when you start adding to it. The Node Package Manager* or NPM is included with the install of Node. The community has created some invaluable apps, tools, frameworks and middleware to help UI developers focus on the key tasks at hand; making great user experiences. If you are experienced with composer when building your PHP web apps then using NPM won’t be much of a reach for you. There are some great sites out there to help with understanding the ins and outs of NPM so I’ll just mention a couple of key things. NPM uses a file called package.json to outline the metadata of your app and most importantly your web app software dependancies. You can edit this file manually and fill in the dependencies on your own just like you would with composer’s composer.json file. You can also install packages from the command line like so:  If you are looking for website design for your project visit Vivid Designs

npm install <package_name> –save I typically add the ‘— save’ option so the package gets added to the dependency list in my package.json file.

Beyond your web app, NPM houses some really great server side apps that you will want to use to make your life easier. You can install packages within your local app directory or you can choose to install packages globally on your system. Installing them globally will give you access to the package from the command line (you will have to add the NPM bin folder to your terminal’s PATH). Installing a package globally looks like this:

npm install -g <package_name> After learning how to manage packages there are some essential ones you’ll want to install before getting your feet wet with Node.

Building and Porting Websites I haven’t been playing with Node for too long but I have come across some essential things to get me moving in the right direction. Here are a selection of the ones I found most helpful.

Express Perhaps the single most important component of building successful web apps in Node is Express. It’s a middleware package that builds on the foundations of Node by adding some all important structure to building web apps with it. Node itself delegates a lot of the web server responsibility to the programmer. Express builds upon a middleware package called Connect that fills in this gap so developers don’t have to worry about the little details of parsing input and serving pages. On top of that Express provides a very nice framework for a developer to follow and create rich and sustainable code upon. Express has become the de-facto standard for building web apps in Node. I won’t be building a web app without it. There is a fantastic guide over at ExpressJS.com to get going: http://expressjs.com/guide.html

Note: I was informed that there is a new framework being built by the Express team called KoaJS. Definitely worth checking out: http://koajs.com/ Thanks @jeswin!

On the Express homepage there is a link to a very helpful book as well. It’ll run you through a very in depth overview of Node and builds up towards making web apps using Express. I found it very helpful in understanding the barebones of Node before jumping into Express. Have a look: http://www.manning.com/cantelon/

Nodemon Running and testing a Node app is quite a lot different than building one in PHP. Typically with PHP you hack through some code and then head over to the browser and refresh. Every now and then you might need to modify the Apache config and restart the web server. The process in Node is quite a lot different. Since the web server and application are bundled into one tight little package, changing the code meant having to restart the whole web app; which also meant restarting the web server. When I was learning how to build the basics it seemed like there was an endless amount of killing the process, hitting the up arrow to goto my last command and then hitting enter to restart the app ([Ctrl+C][Up][Enter] cycle). This quickly became a giant pain in the ass. For people to make meaningful work in Node this had to improve. Fortunately this is where Nodemon comes to the rescue. Install Nodemon using NPM globally and instead of starting your app using:

node app.js us the following:

nodemon app.js This app will monitor changes in the code and automatically restart Node for you. Very straightforward and very essential. Have a look at the git repo for more details: https://github.com/remy/nodemon

Swig When I built PHP web apps my template engine of choice was Twig from the good folks at SensioLabs. It was a component of the Symfony framework and made putting together front end HTML a breeze. Twig was an essential tool for me and if I was going to port any of my existing projects to Node, I had to re-use the view templates I already had. Swig made this transition incredibly simple. Almost every part of Twig that I used was available in Swig. I had to make a couple minor modifications to the template code, but overall it was ready out of the box. It’s completely compatible with Express and has a very helpful guide to getting going here: http://paularmstrong.github.io/swig/docs/.

There is a direct port of Twig to Node but unfortunately that project has stalled. Swig is very actively updated so I opted to use it going forward.

Note: I assume others might find this helpful given Twig is one of the most popular template engines in PHP. Beyond Swig there are numerous template engines available for Node. All of the popular ones have the same or similar functionality; it’s just about syntax differences for the most part.

MySQL for Node When you read about Node most of the time it’s paired with a NoSQL type databases like MongoDB. Going forward I will most likely use Mongo simply due to the amazing Mongoose middleware. It makes model management within web apps incredibly straightforward. However, given that I have a few legacy projects to manage and port over, I want to keep as much in place as I could. This meant keeping my existing MySQL schemas and data in place. There are a few MySQL packages available but I found the one by felixge incredibly full featured. Have a look here for more information and usage: https://github.com/felixge/node-mysql

PassportJS Almost all web apps these days has some sort of connectivity with third party APIs. To authenticate with these services has its challenges. Fortunately there are numerous packages available in PHP to make accessing these APIs straightforward. With Node you really only need to concern yourself with PassportJS. It’s an Express compatible package that allows you to authenticate just about anywhere on the web. You can even use it to authenticate your own local login and manage sessions if need be. I found this tool invaluable when authenticating with other services like Twitter, Instagram and Facebook. From the software’s wiki, it says it can authenticate with 140 different services. A must have for any web app developer. Have a look at the details here: http://passportjs.org/guide/

Starting the engines After understanding the Node fundamentals and getting familiar with the new stack I was ready to jump in and start creating apps. It took about a day or so to read through the NodeJS in Action book and work through a few examples using Express. With a basic understanding with how the mechanics worked, the next task was getting one of my old projects ported over. For a small to medium sized multilingual site the porting process took about 2-3 days to do. The speed at which I port sites would no doubt increase as I become more familiar with the process and structures of Node and Express. Here are a couple things that are worthy notes for others moving from PHP. Best web design company in Hyderabad

Synchronous vs Asynchronous One of the biggest changes I had to wrap my head around was converting my synchronous PHP code into asynchronous JavaScript code. Since Node is built on a single thread non-blocking event loop system, any action you do won’t wait for a blocking action to return before executing the next line of code. All lines of code are executed immediately one after the other. The idea that the requested data will be available on the next line of code is not a guarantee. This is where your front-end JavaScript experience will help. Just like the client side, events are handled via callback functions and the same goes for Javascript code on the server. To create synchronous code using JavaScript you’ll need to nest your sequence of events in callbacks. Here is an example:

Just what you would expect. PHP will execute and wait for a result of the first query and then use the data received in the second. In Node you would have to nest the queries via the completion callbacks like so:

You might think that this type of code will grow to be absolutely unwieldily when you have a lot synchronous code to execute, and you’re right it does. Using promises solves this “Pyramid of Doom” problem. I won’t go into promises in this article but there is a great package for Node called Q and it gives you an idea of how promises will clean this up. Have a look here: http://documentup.com/kriskowal/q/

Bugs are really bad Since Node is a single thread system it’s important to keep in mind that when your code has an uncaught exception it will bring down Node for everyone not just the person who caused the crash. This is different than PHP and Apache/Nginx because the thread that handled the request dies, not the entire web server process. In a dev environment this is totally fine and probably the encouraged so you can properly catch and fix issues. However in the production environment this can be very disruptive since your web app will be taken down for all users visiting your site. The way around this is to create a listener for all uncaught exceptions and to handle them gracefully (see note below). The code looks like this:

This will ensure your app stays up even when the unexpected happens.

Note: I’ve read a little deeper into this issue and it appears that handling uncaught exceptions this way isn’t ideal. Using domains appears to be the better solution. Read about it in the Node API docs. Another option would be to use a tool like forever to start the app with. It will automatically restart the server when the unexpected happens.

Rewrite Rules One of the powerful parts of web app development is the ability to rewrite messy URLs into nice clean ones. This makes search engines happy and makes your users even happier. With PHP it didn’t care what the URLs looked like, it just wanted input to work with. The re-writing of the URLs was managed by Apache (or Nginx). When using Node to build web apps, Express’ route mapping is the special sauce to directing requests. I found managing routes through my server side app code a very welcome change. After getting comfortable with this idea you’ll never want to write another routing rule through your <VirtualHost> entry ever again. Here is a small example:

RewriteRule ^/blog/([A-Za-z-]+)$ /blog/entry.php?slug=$1 Using Express’ route mapping:

app.get( ‘/blog/:slug([A-Za-z-]+)’, blogController.entry ); No more running around managing request route mapping between your web server and your web app code. <Applause>.

Running multiple Node sites on one server* Since Node is both a processor of code and a web server built into one, it presents a challenge when running multiple sites in a single environment. Running a Node web server requires you to select a port to run requests through. Once you run a site on port 80, you can’t map a second site to the same port. One might just tell you to get a new VPS for each website given they are so affordable these days however in a lot of cases a single VPS is complete overkill for one site. In these cases you can choose to run a standard web server like Apache or Nginx and pass the requests through to Node via proxy. I opted to proxy using Apache rewrites because I use them so often. Here is what an example <VirtualHost> entry looks like:

You can also choose a pure JavaScript approach by using the Node-Http-Proxy package. Use what makes sense for you.

*Note: I’ve been getting a lot of feedback on this topic and most are saying that using Nginx isn’t as big of a bottleneck as I originally made out and in some ways using it as a proxy will help more than it’ll hinder. My point was supposed to be about getting multiple node instances running in the same environment so I’ve re-written this point to be more helpful. I’ll leave the performance debate for the community as I haven’t tested much in a busy production environment. Thx Reddit!

Seek and you shall find One of the most exciting parts about programming with Node is the community that surrounds it. There is such much happening in the space and it’s happening very quickly. When I was porting my first site over I would run into a snag and ask “How do I do this in Node?” I would simply google whatever my problem was and sure enough within seconds I would have answers. I never came across a deal breaker problem that just wasn’t easily solvable using Node. It’s a testament to the progress it’s made. If you run into a problem, just google it, no doubt someone has a solution.

Wrap Up After spending about 3-4 days with Node and its counterparts I was completely blown away with how easy it was to get running and most importantly how easy it was to get to work making things. The barrier of entry for developing web apps using Node is still not as low as PHPs but it’s pretty close! Even saying that, the value you get from understanding package managers and MVC frameworks are essential to be a modern day web developer. Those two concepts are probably the only things keeping Node+Express’s barrier of entry higher than PHP’s. Node+Express force you to learn these concepts before you can get cooking and that is a really good thing for a developer and the code they write.

Finally, I think its important to understand why writing server side code in JavaScript is such a great thing for a web developer and specifically the UI/Front-end web developer.

Full Control Most UI web developers already have an intimate knowledge of JavaScript and it’s nuances. Taking advantage of this knowledge when preparing server side code increases productivity. In addition, my experience tells me business logic/back end developers typically loath putting the UI code together for building web sites. They would rather focus on the engineering of the core functions of the app. Creating apps using Node allows the UI developer to take over the UI portion of the server side app. The business logic can be completely separated from the UI and accessed through API calls. Separating the back-end from the front-end allows each developer choose the stack they want to work with to get their job done.

There is a great article that goes into more detail about the idea and I couldn’t recommend it more: http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/

Given this recent experience I have committed to moving all future projects to Node (where possible) and committing to a full JavaScript stack for UI development. It’s been an essential language for building amazing user experiences and now it can be fully leveraged to make great server side code as well. I honestly believe it will become the dominate language for building front-end web app code going forward. I applaud and thank the community of developers who put their hard work into making these amazing tools so guys like me can use them to make great web sites.

If you found this article interesting, please sign-up to my newsletter to be notified of future posts.

Posted on

Hosting A Toll Free Number For Your Small Businesses

Toll-free numbers have proven successful for businesses, particularly in the areas of customer service and telemarketing. Referred to as 800 numbers, after the original area code, toll free numbers today can start with the area codes, 800, 888, 877, and 866, however these area codes are not interchangeable with each other. The warehousing of these numbers by service providers is prohibited by FCC rules, because it is illegal for a subscriber to sell a toll free number for a fee. Service providers have access to the SMS/800 database, which contains information regarding the status of all toll-free numbers. Toll free numbers are assigned on a first come, first served basis by accessing a database and reserving a number for subscribers. The FCC is not involved in the day-to-day assignment of toll-free numbers, nor does it have direct access to the toll free database, and cannot provide any information about the status of a number or respond to a request for a number.

A toll free hosted number is a telephone number that can be called by your existing and prospective customers without incurring any cost and all the call charges will be borne by the called party. As a business person, you might wonder why you should needlessly add to your expenses.But hosted toll free number makes tremendous business sense once you understand what it can really do to your small business. Please appreciate that for the low price of a phone call or two, you could get yourself a new customer that you would not otherwise have had. This is a great marketing tool to expand your customer base.Customers will be too happy to call you and also call you more often because of the simple human psychology that people all over the world are fond of things that comes free. Strictly speaking, small businesses offering hosted toll free phone numbers are not giving much beyond the cost of a phone call, but it is perceived as being generous by the callers and more importantly, by the prospective customers. For more details of Toll Free Phone Number Visit Linkedphone

Market surveys have conclusively shown that customers prefer toll free numbers because of the fact that sales campaigns that advertise a toll free number fetch 40 percent additional responses. Besides, having a hosted toll free phone number will also improve customer’s perception of your small business.If you have merely a local phone number customers think that yours is a local business. Since toll free numbers have become commonplace, customers reasonably expect you to have a toll free number. Going one step further, it can be said that today customers are even reluctant to deal with companies that do not offer a toll free number.As most companies today do business online, a hosted toll free number remains a potent tool for serving customers. Like having a Web site and being available by e-mail, a hosted toll free number lets customers get the information they need with a minimum of time, effort and also without payment.

There are several hosted toll free service provider companies that specialize only in providing toll free numbers. This means that they can offer your small business cheaper and more affordable prices. There may be a set-up cost involved, but some specialist toll free number companies do not charge one if you sign a long-term contract with them. If you do a proper cost-benefit ratio analysis, you will find hosted toll free number an excellent option for your small business.Getting a toll free number does not entail investment in additional equipment or extra phone line. Once you choose your number the provider company can set it up to ring through to any phone that you select. In the U.S. the toll free numbers commonly begin with 800, 866, 888 or 877. Your business can also choose a .vanity toll free number, in which case the numbers will be alpha-numeric and easy for regular callers and existing customers to remember.The cost of a hosted toll free number for a business house is based on a variety of factors. These hosted toll free number price include amount of usageComputer Technology Articles, cost of the phone line and perhaps a flat-rate monthly fees. These are factors you should consider carefully when choosing a hosted toll free number service.

 

Posted on

A Designer’s Sublime Text Setup

Before I switched to a Mac a few years ago, I had been using the Notepad++ text editor for all the coding I did. I never really did like Dreamweaver. For me it was too complicated by trying to be everything.

I truly believe in and appreciate simplicity. I like simple tools that allow customisation for power users. On a Windows PC, Notepad++ somehow provided that. To be honest, I wasn’t even a power user back then, so customisation wasn’t a priority. I just needed a very simple text editor.

In Search for a New Text Editor

As I mentioned before, I switched to a Mac a few years ago. After doing so, I realised that Notepad++ is not available on OSX. That was the reason to start searching for a new text editor that would be somehow similar to what I was used to. If you are looking for web design for your company check Vivid Designs

A quick Google search provided me with options like Brackets, Coda, TextMate, TextWrangler, BBEdit 10, Aquamacs, Espresso and Sublime Text. There’s a wide range of these and I tried most of them. In the end, I decided to give Brackets a proper try. It’s free and has live reload on document change already built-in. That was something I really appreciated.

I started using Brackets when it was still in beta. And it was obvious. It had some disturbing bugs but what really bothered me was the performance. Sometimes it got to a point when even scrolling through an HTML document would produce lag. I had none of it and decided to give another text editor a try. For some reason, Sublime Text looked the most promising.

The Text Editor You’ll Fall in Love With

Once you install Sublime Text you get something that looks very simple in both UI and functionalities. At first, it doesn’t look that special actually. Why would someone pay $70 for this? But once again, Google has all the answers you need. After taking some time to really get the essence of Sublime Text, I fell in love with it. Here’s my setup.

Upgrade to Sublime Text 3

If you haven’t already, you should update to the Sublime Text 3. It’s still in beta but works very well, and package support is also very good. There’s no major difference between the two. At least not on the first sight. But because of numerous updates under the hood, the performance is much better.

If you’re not sure whether to upgrade or not, give this tool a try. It will tell you if you’re ready to upgrade, determined by the support for the packages that you’re using.

In my case, I had all green, so I was ready to go.

Install Package Control

First of all, I install the Package Control. Without it, it would be much harder and time-consuming to customise Sublime Text. Installation is very simple and quick. Check the instructions here.

After you have that installed, you’re able to install all the expansion packages right from Sublime Text so you don’t have to manually download and install them. It’s a timesaver. If you are looking for website development in Bangalore for your company visit Vivid Designs

Theme & Color Scheme

After a successful upgrade, I immediately started looking for a cool theme. I need my text editor to look slick and minimalistic. And I really wanted to get rid of that old, Windows Vista like look that Sublime Text comes with by default. To get rid of it, you have to change the theme.

Theme is not the same as colour scheme. The former defines the looks of Sublime text window, sidebar, tabs and modal windows and the latter defines the background and syntax highlight colours.

There’s a particular theme I really like, called Space Gray. I found it after searching for quite some time. I narrowed my options to this and Centurion. Both look very good, both very close to what I like. In the end, I decided to go with Space Gray and I’m sticking with it for now.

There’s even more colour schemes than themes for Sublime Text. There’s a cool website with a lot of them: Colorsublime. I like the base16-ocean so I just stick with it. It gives me just the right amount of contrast so my eyes don’t suffer too much.

I event went further and removed the arrows that are meant for navigation through the tabs. This might come handy when you have a gazillion of tabs open. But I got used to switching between them with the Alt + Cmd + left/right arrows shortcut. So for me, those arrows were just visual clutter and I removed them. To do so you have to add this line into your user settings.

“enable_tab_scrolling”: false

Personalisation

As I mentioned before, I was using Brackets for some time. Not long, but long enough to get used to some keyboard shortcuts. The two I used the most that had different key bindings from Sublime were delete line and duplicate line.

After switching to Sublime Text, I noticed that the duplicate line shortcut from Brackets had the opposite effect in Sublime: it deleted the line. So I decided to add my own custom keyboard shortcuts. And in Sublime that’s very easy. These can be added/edited in Preferences > Key Bindings — User. Whatever custom shortcut you add there will overwrite the default one. In my case they were these two:

{ “keys”: [“super+d”], “command”: “duplicate_line” },

{ “keys”: [“super+shift+d”], “command”: “run_macro_file”, “args”: {“file”: “Packages/Default/Delete Line.sublime-macro”} }

I hate scrolling horizontally, so I wanted Word wrap to be enabled by default. Another search on Google, gave me an answer in less than a minute. I just had to add this line to my Preferences > Settings — User.

“word_wrap”: true

Now, every time I create/open a new document, the word wrap will be enabled by default.

Packages

I don’t want to repeat myself so this is a list of additional packages to the ones I mention in other parts of this article (themes and Package Syncing later on).

Alignment is one of the Top 25 packages for Sublime. It provides easy alignment of multiple selections and multi-line selections.

Autoprefixer is also a very popular package. When you run it, it adds the vendor prefixes to you CSS. Ain’t nobody got time for messing with that.

BracketHighlighter marks the opening and the closing bracket of the current line of code. Sometimes, this comes very handy.

Can I Use adds a shortcut to your key bindings with which you can quickly check how well is a CSS property supported by browsers. This one goes online to check for that. There’s also a package that provides this offline — caniuse_local.

CSScomb makes your code beautiful. Now you can do it very quickly with this package.

Emmet is like magic for your coding. Once you get the hang of it, you will save time. A lot of time. Just write an “equation” of your code, press tab, and there it is.

Emmet Css Snippets the same as Emmet but this time for CSS (including LESS and SASS).

LiveReload refreshes the website you’re working on when you make a change to the source code. I got used to this behaviour when I was using Brackets and really liked it. Another time saver.

SCSS adds syntax highlight for the .scss files. I recently decided to learn to use CSS preprocessing, so I need this.

SideBarEnhancements makes the sidebar in Sublime more useful. It adds some basic functions: new file/folder, edit, open/run, reveal, find in selected/parent/project, cut, copy, paste, paste in parent, rename, move, delete, refresh…. and also some advanced features.

TrailingSpaces highlights all the trailing spaces in your code. It can also remove all trailing spaces with one action. What’s wrong with having trailing spaces?

Package Syncing

I have Sublime Text installed on two machines: my personal MacBook and my iMac at work. No matter which machine I’m working on, I need my personal Sublime Text setup. I need it to look exactly the same with all the packages on both machines.

Keeping both installations in sync manually is time-consuming. I did it for some time but got tired of it. After a while my two Sublime Text installations grew apart. I thought to myself: can’t there be a way to automatically sync the two installations of Sublime Text?

There is! Or, there are, because there’s a bunch of them. The most popular would be to sync your installation with a little help from Dropbox (I don’t really like Dropbox so I used MEGA instead). And there’s a package you can install that makes it very easy to set this up — Package Syncing.

So now, when I install a new package on one of my machines, it will be automatically synced to the other. This also applies for all my settings and personalisations of Sublime Text. Neat, right?

Icon

For some reason, nobody likes the default Sublime Text icon. That’s why there’s so many alternatives available on Dribbble. I honestly never really had any problems with the default icon. I kinda liked it. But since the Yosemite UI switch to a flatter look, the default Icon didn’t match anymore. Yes, that’s the only reason I decided to change the icon. Designers, eh? ☺

I really like this icon. It keeps the original design of the Sublime Text icon but also looks great on latest OSX. You can get it here.

Source

Posted on

What Does The Virtual Receptionist Actually Do ?

Answering calls while you manage your business can be time consuming and could drain your energy. Traditionally, hiring a receptionist to answer all your customers’ inquiries on the phone and taking some personal calls for you could be the best thing to do. And as we become more accustomed to digital and virtual technologies, Virtual Receptionists were introduced to the market and is now on the test run whether it could be the latest trend.Why not? People had accepted and embraced Business Process Outsourcing (BPO) industry today so why not Virtual Receptionists? Nevertheless, there is a difference between a Virtual Receptionist and a call center agent (as what we usually call people who works in BPO industries). A call center agent merely takes calls and answer queries while Virtual Receptionists, acts in the name of your company’s name

He or she will take a message if necessary, but also gives you a way of having a single public number covering everyone in the business

A virtual receptionist should be more than an answering service. Sure, the basic idea is that you have a real person answering calls instead of letting them go to voicemail, but that’s just the start.

Depending on whose statistics you believe, as many as three-quarters of first time callers to a business will hang up if they reach voicemail rather than a person. We don’t know how old that figure is, and we suspect people are more comfortable with voicemail now than they were a decade ago.

An answering service is basically just a human being pretending to be an answering machine, though at one time we would have put that the other way round. Someone phones, you don’t answer, the service picks up the call, takes a message and forwards it to you, typically by SMS or email.

A virtual receptionist goes beyond that. He or she will take a message if necessary, but also gives you a way of having a single public number covering everyone in the business. Calls are answered just as a ‘real’ receptionist would, and then directed to the appropriate person’s landline or mobile. The illusion of being a larger business can be encouraged if the service ensures the same agent answers your calls whenever possible.

Virtual receptionists should also be able to provide answers to basic questions such as “what are your opening hours?”, “what is your address?” and “do you deliver flowers to Mater Mothers’ Hospital?”

Even if your business is at the stage where it needs a real receptionist, it may be worth adding a virtual receptionist so you know you are covered if you’re flooded with calls, during breaks, or the occasional sickie.

Some of these services also offer call screening, so you can avoid being interrupted by routine inquiries that can safely be left until it’s convenient for you to return the call, while making sure that important clients and family members can reach you at any time if it is at all urgent.

Or you may want to go even further. Virtual receptionist services may be able to take orders (“a large bunch of gladioli to Mrs Jane Doe at Calvary North Adelaide Hospital by noon tomorrow, please”) or book appointments (“I’d like a perm on Friday, please, what time can Adele fit me in?” or “I’d like a quote for cutting down a tree in my garden”).

Other add-ons may include out-of-hours answering, fax-to-email, and even a virtual postal address.

All this comes at a price, of course. While the costs vary, providers typically charge a monthly fee that includes a certain number of calls, with an additional charge for every call after that. Services that simply pass on messages are normally cheaper than those that can connect calls (screened or otherwise) to one or more people, and some providers charge per minute rather than per call. And be prepared to pay extra if the nature of your business is such that you really need someone with local knowledge to answer calls – some services only use offshore workers.

 

Posted on

4 Major Advantages of a Cloud Phone System

Cloud phone systems are steadily on the rise in the business telephone market as more businesses become familiar with and adopt cloud technologies. SMBs and enterprises are realizing the many advantages that cloud technologies can offer their businesses, opening up new avenues for business communications and the way employees communicate. But when it comes down to the specifics, cloud phone systems are simply hosted PBX systems labeled under another term. They still offer the same cost-savings, features, and more that hosted PBXs offer their users.“Cloud” and “cloud-based” are newer buzzwords in the VoIP and telecom spaces, offering companies the opportunity to take advantages of new tech in the voice space. However, this doesn’t change the way a hosted phone system can help your small business or large enterprise

Advantages of a Cloud Phone System

Cloud phone systems offer features, mobility, and customer support.

A cloud-based communication system can help make your business appear larger than it actually is. This is because it gives your business a professional-quality phone system that uses such features as auto attendant, call forwarding, extensions, and more, giving your small business a big enterprise feel. A hosted phone system generally includes call management features like call forwarding, music on hold, access to a dial-by-name directory , and other enterprise-grade features to help you stay organized and efficient. There are also a number of other perks with a cloud phone system, namely:

Cloud Phone System Offers Flexibility:

With a cloud-based phone system, your employees are not chained to their desks, waiting for an important call or stuck on a conference call. Calls can be routed to cell phones or home phones as needed thanks to access to mobile applications and the call forwarding or find me/follow me feature. In fact, calls can be routed based on who’s calling and at what time it is (so you won’t receive calls out of the office on certain days). There is also the option to use the ‘Do Not Disturb ‘ feature when you are busy with a project or engrossed in a meeting.

Cloud Phone Systems Help With Customers:

As IP phones and caller dashboards become more complex, cloud phone systems can provide employees with on-screen call display in addition to information about who’s calling and any notes you may have from previous interactions with the client. This is exceptionally helpful when a phone system is integrated with third party applications like Salesforce or other customer relationship management (CRM) applications. This allows employees to present potential customers or clients with personalized service, thus ensuring a good customer interaction.

Cloud Phone Systems Connect Your Employees:

A hosted phone system also allows employees to contact each other either by clicking or dialing an extension. A majority of call management tools are included with cloud phone service as well, helping to keep employees connected. Additionally, with a cloud phone service employees can access the cloud and their contacts or employee notes from anywhere there is a reliable Internet connection. Plus, by using a unified communications (UC) solution, employees can chat, share files, view presence, and hold digital meetings all thanks to the cloud.

 

Posted on

Why The Virtual Phone Numbers Are Suggested For The Female Entrepreneur ?

You’ve worked hard to establish your own business. Perhaps you have employees or perhaps you’re a one woman show. To stay competitive, you have done everything to prove your worth and even boost your professionalism above the male competition. You are held to a higher standard already in the industry and you know you still have a long road ahead. While you are working hard to make it to the top, you should never sacrifice professionalism or even your safety to get there. One of the best tools at your disposal is that of a virtual phone number.

Virtual Phone Numbers Keep You Professional

A virtual number provided by a cloud-based phone service keeps your business professional. Instead of handing out a home phone number or even a personal cellphone number, you are giving them a line separating personal from private. You can even setup a toll-free number or vanity number for your company. Vanity numbers let you use a combination of numbers that spell something, such as your company name or something you sell.Your virtual number will also help keep creditors, sales professionals and spam callers from harassing you on your personal line – giving you more opportunities to separate personal from professional life.

Virtual Phone Numbers Keep You Safe

As a female entrepreneur, you may travel or meet with clients – people you don’t know. You can add a layer of personal security by handing out a number from your virtual phone service rather than giving out your personal number. This also works as a filter – allowing you to screen who calls you and why.Also, as you create your website, you do not want to publicly broadcast your personal cellphone or home phone number. With a virtual phone service issued number, you are only displaying the business line – so people have no way to contact you personally.Virtual numbers cannot be back traced like your personal number. That means no one could pay for a reverse search to find your name, address and other private information. Instead, the virtual number is registered to the business and that is it.

Bloggers Should Use Virtual Numbers Too

You don’t have to have a full-fledged business or even a company to use a virtual number. Female bloggers are a growing community and there are numerous seminars and conferences hosted just for female bloggers. If you are one of those attendees, do you want to hand out a business card with your personal number? A virtual number can be used for contact forms on your blog too – ensuring advertisers and even spam callers don’t have your personal number to constantly harass you on.

 

Posted on

THINGS TO CONSIDER BEFORE USING CLOUD-BASED BUSINESS PHONES

Cloud applications are one of the recent advances in information technology that is sweeping the world with its ease of use and many benefits. It has changed the many ways people carry out their tasks in school, office, and even at home. Many small business owners have benefited from using cloud applications in their office. It has improved the overall level of productivity of their employees. It has helped them provide their customers with better service. It has also saved them huge amounts of money from business communication costs. Needless to say, it has provided many small businesses with more growth and more profit.

Features and Functions

But before you jump in and upgrade your current business phone system to allow for cloud applications, you need to consider a couple of things first. This article will give you a rundown of what to consider before using a cloud-based business phone system. The first thing you have to consider is the list of features and functions that you absolutely need. You have to look for those features that are the most effective for your small business. You can expect your cloud-based phone system provider to offer you standard features. But it is more important that you seek for functions that other service providers do not include in their offered package plans. You must look for functions such as Internet fax messaging, seamless mobile phone integration, video conferencing, advanced voicemail, and many others. The features that you want added to your business phone package must be those that you do not only find cool or high-tech but those that meet the business communication needs of your office.

Quality of Cloud Service

Aside from the actual features and functions of the cloud-based business phone system, you must also factor in the overall cost. It is important that you consider the practicality of this investment and make sure that you will gain more profit in the long run. While generally, using a cloud-based business phone system is a profitable business strategy compared to using the traditional analog phones, not all service providers offer the same quality of services at the same price level. Aside from the potential savings from actual business communication costs and freedom from several equipment and devices, choosing the right service provider can be crucial in getting the optimum savings.

Location

After considering the features and functions as well as the cost, many small business owners immediately decide on installing a cloud-based business phone system in their office. While these two are important considerations, it is not enough to help you decide. You must first make a careful assessment whether your small business needs a cloud-based business phone system. How can you exactly know this? Your clue would be if your small business maintains several locations. If this is the case, then a cloud-based business phone system can help integrate your multiple office locations into an advanced business phone network.

For instance, a Ring Central business phone can streamline office communication within your small business and can help speed up business transactions. Also, an important clue would be if your small business frequently facilitates incoming and outgoing calls from many different locations. If this is the case, then a cloud-based business phone system can provide your customers with an easy means to reach your office. Also, your employees can make calls to customers regardless of location easily and cheaply.

 

Posted on

Availability of Virtual Phone Numbers

Virtual telephone numbers are available for purchase in many countries around the world – but not available in many others. For instance, virtual numbers are not allowed in India as of this writing.

In general, countries that restrict use of virtual numbers are also countries that regulate use of VoIP internet telephony – and, usually, telecom markets in general.

In such countries, governments are typically trying to nuture incumbent telephone companies and protect them from low-cost competitors, especially from low-cost VoIP companies.

In countries with liberal telecom regulation, like the US, virtual numbers are easy to obtain with few, if any, restrictions on their use.

Virtual Phone Number

A Virtual Phone Number is a telephone number that forwards incoming calls to one of the pre-set telephone numbers chosen by the client.

For example, a company located in China can have a phone number in Los Angeles. Virtual Phone Numbers are very popular among Call Centers, which are physically located in one country, when in fact they really work in another. International virtual phone numbers are also popular with people currently residing in a foreign country, giving their family members and friends a virtual phone number so that they can contact them at a local call price rate.

Frequently, the subscriber can easily set the Virtual Phone Number to forward calls to different telephone numbers (both landlines and mobile phones) depending on his or her preference. For example, on work days incoming calls can be set to be forwarded to one’s workplace, but on weekends to one’s mobile phone.

 

Posted on

Features Of Virtual Phone System For Business

  • in Voip Phone Systems, the Voice Is Transmitted Digitally Over the Internet. Voip Phone Systems Aid Small Businesses Reach New Heights in a Cost-Effective Manner as These Systems Do Not Require Any Expensive Equipment to Be Purchased by the User. with Hosted Ip Pbx System Implemented in Small Business Offices, the Employees Need Not Be in Their Workplace Every Time to Receive Their Calls

    Proper and Clear Communication Between the Company Representatives and Customers Is the Key to the Success of Any Business Organization. Earlier, Small Businesses Were Left with Limited Options as Regards Affordable Office Communication Devices Available on the Market. But, Now with the Advent of State-Of-The-Art Ip Technology, the Situation Has Changed.

    in Voip Phone Systems, the Voice Is Transmitted Digitally Over the Internet. with Voice Over Ip Technology, Voice, Data, Images, and Videos Can Be Transmitted Over a Single Network. the Services of Such a Telephone System Can Be Received from Any Part of the World If You Have a Pc with an Internet Connection.

    the Voip Phone Systems for Small Businesses Are Advantageous in a Number of Ways. Voip Phone Systems Aid Small Businesses Reach New Heights in a Cost-Effective Manner as These Systems Do Not Require Any Expensive Equipment to Be Purchased by the User. All the Hardware, as Well as Software, Is Maintained at the Service Provider’s Premises Itself.

    the Cost of This System Is Far Less Compared to the Traditional Pbx Communication Systems. with Hosted Ip Pbx System Implemented in the Offices, the Employees Need Not Be in Their Workplace Every Time to Receive Their Calls. the Incoming Calls Can Be Redirected to the Employee’s Present Location in Real Time Through Dedicated Connections. International Calls Can Be Made at Much Lower Rates Utilizing This Technology.

    the Hosted Voip Phone Systems Come with a Number of Sophisticated Features Such as Dial by Name, Dial by Extension, Auto Attendant, Virtual Receptionist, Caller ID, Call Screening, Find Me Follow Me Call Forwarding, Voicemail and Fax Mail. the Auto Attendant System Can Be Personalized to Handle the Incoming Calls in a Professional Manner with a Greeting Message.

    Multiple Calls Can Be Simultaneously Answered with the Help of These Hosted Voip Pbx Systems. If Any Call Remains Unanswered, It Will Be Automatically Redirected to a Voicemail System, Where the Callers Will Be Asked to Leave Behind Their Messages. the Users Can Have Their Voicemail Messages Sent to Their Regular Email Account as Well.

    Owing to the Greater Scalability of This Device, Small Business Owners Can Add Additional Features and Extensions as They Grow Their Business Without Making Any Further Investments. Thushealth Fitness Articles, These Advanced Voip Phone Systems for Small Businesses Are Excellent Solutions to the Rising Communication Cost.

     

Posted on

BMW 1 series Overview,Price,Specifications & Transmission

OVERVIEW ;

The country recently saw the advent of a new class of cars — the luxury hatchback. While it was virtually non-existent just a few months back, Mercedes-Benz was the first to introduce a model into this segment in the form of the A-class and was soon followed by Volvo with its V40 Cross Country. And now, BMW has launched its 1-series luxury hatchback.

BMW is touting the 1-series as a driver-focussed hatchback. To that extent, it has launched two versions – the 116i and the 118d – both making adequate power and boasting, for this segment at least, a unique longitudinal front-engine, rear-wheel-drive layouts. But despite these traditional BMW strengths, it’s not going to be a walk in the park for the 1-series. Except for a thin band of enthusiasts, will owners really care which pair of wheels is being driven?

EXTERIORS ;

The BMW is a five seater, five door hatchback. From the front it sports all the signature BMW lines but still has the design of the old grille as the car has not been updated with the new grille design. There is a pronounced hump on the hood that seems to flow into the front windscreen and the A-pillars. While globally the 1 Series is offered in three and five door options, in India we only get the latter.

At the back, the 1 Series looks like a scaled standard BMW design due to it being a hatchback. While the shape of the boot hatch is similar to that of the 3-Series, the tail lights are considerably smaller but still retain the familiar Bavarian manufacturers design language.

INTERIORS ;

The car’s interior isn’t very modern. It is pure black with a very basic outlook. Talking about space, there’s a lot of room in the front of the 1-series while a person uncommonly tall will feel confined in the external back seats.On the other hand, it’s best to think about the 1-series as a four-seater. The focal back seat is restricted, and anybody sitting on it needs to straddle a cumbersome, raised segment of the floor. Getting into the back in any case isn’t especially simple for grown-ups, either, because of little back door openings on the five-door rendition of the 1-series and a clumsy move to the back of three-door models. Simple and clean instrumentationis a BMW trademark and the 1-series epitomizes this with straightforward, simple taper use-dials before the driver. You additionally work most capacities by looking through consistent onscreen menus utilizing a rotating dial that is situated simply behind the gearstick, where it iseasy to reach. Furthermore, the presentation screen is high on the dash so you can simply keep a large portion of an eye out and about while utilizing it.

PERFORMANCE ;

The engine line-up will include a choice of two latest-generation four-cylinder petrol engines and three radically redesigned four-cylinder diesel units.

The new engine in the line-up is the 1.6-liter petrol engine that will be used in the BMW 116i and BMW 118i models in combination with BMW TwinPower Turbo technology. In the 118i model it delivers a total of 170 HP at 4,800 rpm, and a maximum torque of 184 lbs-ft between 1,500 and 4,500 rpm. It will sprint the car from 0 to 60 mph in 7.4 seconds, while top speed is 140 mph.

The 116i model delivers a total of 136 HP at 4,400 rpm and a maximum torque of 162 lbs-ft between 1,350 and 4, 300 rpm. It will sprint from 0 to 60 mph in 8.5 seconds, while top speed is 130 mph.

The diesel models will include: the 120d model with an output of 184 HP at 4,000 rpm and a peak torque of 280 lbs-ft between 1,750 and 2,750 rpm; the 118d with an output of 143 HP at 4,000 rpm, and maximum torque of 236 lbs-ft between 1,750 and 2,500 rpm and the 116d with an output of 116 HP at 4,000 rpm, and maximum torque of 191 lbs-ft between 1,750 and 2,500 rpm.

All the engine will be offered with a standard six-speed manual, but as an option BMW is also offering an eight-speed automatic transmission that is offering fast, smooth gear changes and excellent fuel efficiency.

DRIVING DYNAMICS ;

While the world is shifting to more economical and lighter front-wheel drive platforms, the 1-Series continues to channel power to its rear wheels but not for long as the next generation 1 will share its underpinnings with the new MINI (UKL platform), thereby moving to a front-wheel drive architecture. Rear wheel drive has its merits and it shows. The 1-Series is just a hoot to drive, offering terrific balance through the tightest of bends. Handling is just super sharp and precise, with every turn being a laser guided point and shoot action. In fact, even though BMW has now shifted to electro-mechanical power steering, the 1-Series continues to feel like a go-kart, you sit low and pilot the car using a super sharp steering. The three settings (ECO PRO, Comfort and Sport) also vary the weight at the helm, the steering becoming extremely heavy on Sport mode, making high speed feedback very rich.

The steering is decently light at low speeds so manoeuvring the car in congested city conditions isn’t that much of a task. In spite of being a sporty model (the 1-Series boasts of 50:50 weight distribution), BMW has achieved a fantastic ride quality on their entry-level hatchback. When we drove the diesel, we appreciated the good ride of the car and the petrol is even better. Running on 55 profile rubber (the diesel we drove had lower 45 profile tyres), the 116i rides very maturely. It remains glued to the road at high speeds, where you can switch directions in nano seconds, the 116i is just so quick and confident. On bad roads, the car does get a bit bouncy but that’s only post triple digit speeds. Braking performance is excellent, the pedal has massive bite and the 1-Series stops with surety in all road conditions.

SAFETY ;

The car is being assembled for the Indian market via the CKD route at BMW’s Chennai plant. This makes the feature list almost identical to the European spec model. The extensive list includes the BMW’s iDrive system with a 16.55 cm HD LCD display, start-stop function, driver side power-seat with memory function and sunroof, apart from standard safety features like ABS-EBD, airbags and ESP. Rear parking sensors are standard across the range.

VERDICT ;

With the launch of the 1 series at a price ranging from Rs 20.90 lakh (ex-showroom Delhi) for the 116i petrol variant to Rs 29.90 lakh for the top of the line 118d Sport Plus, BMW marks its entry into the compact luxury car segment. One very important point to note here is that buyers of this segment of cars are likely to drive themselves and taking that into account Bimmer makes no errs as far as the 1 series is concerned. What it lacks in terms of looks, it makes up thanks to a brilliant amalgamation of comfort and performance while ensuring that the fun quotient of driving a car is not lost at any point in time. Having said that, the Sport Plus variant that we drove is slightly on the expensive side, demanding quite a premium over the A-and the B-Class and bordering around the base variants of the Audi A4, Mercedes-Benz C-Class as well their own 3 series, but again for the kind of equipment level and driving pleasure it has on offer clubbed with the virtue of being a rear-wheel drive, it is well worth the price.