Wednesday, November 4, 2015 by Natalie Lehrer
User generated comments and reviews are a good indicator of the quality of any blog or site. Engaged users creates a more dynamic website which is both more inviting and valuable. Yet, not all comments are genuine. Link builders and competitors often use comment spamming as a tool for link building and reputation management. So how can you tell if a comment is genuine or if your blog is being used for someone else’s marketing efforts? Be aware that deleting every negative review or comment you don’t like could result in a page that is too polished and users will mistrust. Only delete as a final resort when you are sure it is fake. Here are some top tips for spotting fake reviews and comments. *****Author Bio: Natalie Lehrer is a senior contributor for CloudWedge. In her spare time, Natalie enjoys exploring all things cloud and is a music enthusiast. Follow Natalie’s daily posts on Twitter: @Cloudwedge, or on Facebook. Image source: https://www.flickr.com/photos/hhoyer/4068770993/in/photolist-7cxvS2-7MiMys-e2VdRY-7EgfX1-gU8VKd-f9cTEV-vNMUL-9Gdjj5-6je5ZS-2SgvEj-7XPs25-8yQxug-7j9Md5-hd2aeT-awvM9C-pke8X-9gfNiF-2g4jpR-2VTXqC-di4stG-auw7hY-8RMVu3-5JZD6x-9VDGEN-bmFfGb-9QWLT4-nwghkJ-awvMof-awvKSb-8HSpRD-6oh2X2-5jE1Jq-5BWNDz-bUgBy5-PyTv5-9w7da5-9U5kcg-C969c-8BVwhT-5dxRx-8CutQH-fwa4fR-4R8X44-8XxFns-9h5GU6-2K4rm-ebPHcv-2TvqGd-ahmJzB-ebVnU9
Thursday, October 29, 2015 by Natalie Lehrer
Ruby on Rails (ROR) was first released on December 12, 2005. Since then, it has been a hot commodity for developers and users alike. It’s an open-source web application and full-stack framework using the programming language called “Ruby,” hence the name. What are some of the engineering patterns it uses? Here are just a few:
- Convention Over Configuration (CoC)
- Don't Repeat Yourself (DRY)
- Active Record Pattern
- Modern View Controller (MVC) –organizes application programming
What Ruby OffersWith Ruby On Rails, the learning curve is relatively short. Its’ syntax makes the constructs stream logically, and with vibrancy. Currently there are over 200,000 sites supported by Ruby On Rails. There is also the benefit if offers with its modular design. For instance, the gems library is similar to that of a WordPress plugin. You can use gems to perform actions such as creating PDF files, displaying map data, and social media interactions. Additionally, you are given login/logout options as well as integrations with email and/or text messages.
What Can It Do?The depth that comes along with using Ruby is mind-boggling. Here are some of the features available:
- URL – You can adapt or develop search engine adaptive URLs
- Active Records – This development program includes database active library and will automatically map tables to rows and also classes in objects.
- Debug Applications – Ruby on Rails gives you specific and detailed error logs so you can easily debug all your applications.
- Tightened Security – Ruby takes away the burden of having to use the ‘h’ method. It now escapes all input by default and if you want to ‘un-escape’ data you simply use the ‘RAW’ method.
- Bundler – This is a useful new feature to Ruby and helps you manage your dependencies. Just add a line for the gems you need within your gem file, and it will download & configure all gems you need for the project.
- Action Mailer – This function has been simplified to send mail with ease. Default settings can now be optionally overwritten. It comes with cleaner APIs, and you can also retrieve and manipulate ‘mail’ objects before their delivery.
- Store Components – Create modularized templates and add components or store your reusable code.
Quicker DevelopmentConvention over Configuration does exactly as it states. With other programing languages, developers need to spend an extensive amount of time on how their code will communicate with the database. This is also true for the exact file structure for the project, and the wide variety settings needed for configuration files. However, CoC offers what is called “sensible defaults.” These are conventions that already work with a number of applications. This means you spend less time setting up the project and can focus more on any possible issues. Moreover, with the DRY feature, you no longer have to worry about replicating code over and over again. Instead, you write the code once and can use it where needed. It also makes things more convenient for future code changes.
What You Need To KnowIf you already have basic or advanced knowledge of HTML and CSS, then learning ROR should not be an issue for you. If you don't, then you should start learning those two languages first. The good news is that they are also quite easy to comprehend and practice. Once you learn the ins and outs of ROR, it might start feel like second nature. Not to mention, it is quite enjoyable. There are a wide variety of resources available, whether it be taking online courses or reading instructional books. Most tools offer straightforward approaches to learning the structure of this dynamic language. In addition to its many advantages, ROR can make it more cost-effective to create and maintain a site and/or application. You will be able to create feature-rich constructions without as much output as one might have expected. Then, if you want additional features, they can be added rather quickly and conveniently. When you consider the power and convenience of ROR, it’s no wonder why they were chosen in the development of platforms such Twitter, Shopify and Basecamp. Their active community is helpful for those new to ROR, making it even more enticing for intrigued developers to test out.
*****Natalie Lehrer is a senior contributor for CloudWedge. In her spare time, Natalie enjoys exploring all things cloud and is a music enthusiast. Follow Natalie’s daily posts on Twitter: @Cloudwedge, or on Facebook.
Wednesday, October 14, 2015 by Natalie Lehrer
It is no question that social channels can be an extremely valuable tool for a business. It not only increases brand awareness and connects you to potential users, but gives you a direct channel to your current users as well. Yet, as the saying goes, ‘with great power comes great responsibility.’ Now that you are talking to your users, know that your users are talking to you, and it is not always positive. Using social media as a tool for customer care not only let users feel heard in a medium they feel comfortable with, but it also sends the right signals to potential customers about how you treat your users. Here are some best practices to doing this properly.
1. Don’t Disregard The IssueEveryone wants to be heard, and a generic, “take a look at our FAQ’s page for answers to most of your issues,” is just useless enough for your user to look elsewhere. Put a pinned comment at the top of your Facebook page, or in your twitter bio, that sends user to try your customer care channels first. Many may ignore it, but a number will listen and be dealt with there, only coming back if the problem persists. You may need to try harder to keep them happy after the process but at least it isn’t clogging up your social feed.
2. Treat Your Users As People Not ProblemsDon’t be afraid to banter and have an informal chat, as long as you don’t make it inappropriate or too personal for a public forum. Users respond to the human element and will have a more positive impression than if they receive generic, robotic answers. Look at your user’s basic information. The instructions you give to a tech-savvy teen, would not be appropriate for someone with less technology experience. Adapt your support accordingly.
3. Keep It Short And SweetYou need to keep you user engaged, the worst kind of service is one that is met by the sound of crickets because you have lost your audience 4 tweets ago. Make sure your answers are informative but do not drag on longer than necessary. If you can be as effective with three words as using a paragraph, opt for the three. You will maintain your audience’s attention span and not make them feel that their time has been wasted with superfluous information.
4. Don’t Be Afraid To Take It ElsewhereSome issues are universal and your reply could be of value to all users, if this is not the case, then you should carry on the conversation in a direct message or through email. If they have opened a support ticket before contacting you, take their ticket number and flag it up with your support staff to be prioritized.
5. Give Clear AnswersTry to make your post, tweet or Facebook message as informative as possible. Be aware that talking on your Facebook homepage or through main twitter channels means that anyone can see your interaction. Both current and potential users can be listening, and your decorum can be a make or break for some of them. Make sure not only that you are patient and helpful, but also that you are using proper grammar and punctuation. When someone’s account is frozen, it is not the time to bombard them with emojis.
6. Look Out For The Little GuyThere will always be that shy user that will post once, oftentimes as part of an unrelated thread that will get lost unless you are actively looking out for them. Signaling them out and answering their issues or concerns sets you apart from much of the competition, and lets the user feel important which could result in lifelong loyalty.
7. Deal With ComplaintsSome users are out for blood, ignoring a negative comment can be more disastrous than you realize. Be warned that some users may use their social following to bombard you page or ‘trash’ your brand. They can do this by creating inflammatory hashtags or posting multiple comments across all of your social channels. Early intervention is key here.
8. Separate The Wheat From The ChaffNot all users on your social channels are what they seem. Keep a sharp eye out for competitors looking to harm your brand, and destroy your service’s reputation. If you are sure a user is not what they seem, and they are becoming more hassle than their worth, don’t be afraid to block them from your account. You should only do this as a last resort! A perfect page looks fake, and will cause you to loose trust from potential users.
9. Manage ExpectationsIf you are a small business, no one expects you to have a large social media support team. Be honest with your audience and don’t spread yourself too thin. If users know that it could take up to a few days to have their complaint attended to, their expectations will be better managed and they are less likely to be fed-up and leave. Just be sure to keep your promises, if you say it will be up to two days, make sure it is.
*****Natalie Lehrer is a senior contributor for CloudWedge. In her spare time, Natalie enjoys exploring all things cloud and is a music enthusiast. Follow Natalie’s daily posts on Twitter: @Cloudwedge, or on Facebook. Image source: https://www.flickr.com/photos/rosauraochoa/3256859352/in/photolist-5XNfPs-dUmKE4-amC4jN-6mYWTq-aFy3bt-dZxNRq-6u2DBs-5XJ1Qc-9eVCSc-99BVQZ-9MoWtb-9hNywz-9x7H6Z-8bspY4-4oUWXS-6DtPYC-axnKy3-6u2Dkq-7rY7do-6qPE85-7YNkeA-7YNkh5-8Q7LKc-8Q7LSH-8Q7LZ4-8QaSeA-9yMPBV-71ZNv4-8NyVNa-yv3t2-6tXvgR-6qPE89-7oytoK-8H6Z3P-6qPE8f-aucWr1-dU7Cn1-9iAUEF-9iAVoa-9iAVf2-9iE4fm-9iATSR-9iE2eb-9iE3uw-9iAWvP-9iATHv-9iAUmz-9iAUY2-9iE4od-9iE47b
Monday, October 13, 2014 by Natalie LehrerWhen it comes to learning an object-oriented programming language, you might consider starting with either Python or Java. While Python can be more user-friendly than Java, as it has a more intuitive coding style, both languages do have their unique advantages for developers and end users. However, if you are just beginning your path towards a programming career, you might want to start by learning Python, as it is less complex. On the other hand, you will be ahead of many of your colleagues if you are able to understand both. With that in mind, here are the main similarities and differences.
JavaJava is unique in its own way and for an advanced programmer, no problem to use. The first Java version 1.0 was released in 1995. By 2004, Java 5.0 was released; this version saw the insertion of generics into the Java language, providing Java with more efficient code and type safety. To date, the latest version of Java is SE 8, and it made its debut in 2014. Currently, it is widely used as the key programming platform on smartphones and tablets. Additionally, Java programming language forms a large part of the basis for Android’s operating systems. Java syntax is primarily a derivative from C++ and combines universal, organized and object oriented programming that offers automatic memory management. Using Java byte-code is advantageous to porting since it has similarities to machine code. Other benefits to Java include: •Static typing •Curly braces used for noting the start and end of functions •Programs are larger •Does not compile native bytecode •Can be run on any operating system that can run the Java Virtual Machine •Cannot change data types of variables •Object-oriented programming is mandatory
PythonPython was first released in 1989. As a high-level programming language, it makes a strong case for readable code. In addition to supporting object-oriented programming, it also supports imperative and functional programming. This multi-paradigm language is also structure supportive. It offers 'meta-programming' and 'logic programming,' as well as 'magic methods.' Other features include: •Duck typing (Strongly typed) •Uses whitespace to convey the beginning and end of blocks of code. •Programs are small and therefore run much faster •You need less code to create a program •This program is slow in execution •Compiles native bytecode •You can assign a string to a variable that once held an integer •Easier to read and understand relative to Java •Is not supported across a wide variety of platforms •Object-oriented programming is optional
VariancesBoth of these development programs come with their strong suits. While Java allows you to enjoy cross-platform support, you can still execute Python on at least 10 different operating systems. You need to determine what your end goal is before you decide on which program to use. Java, however, is not recommended for beginners as it is a more complex program. Python is more forgiving as you can take shortcuts such as reusing an old variable. Additionally, many users find Python easier to read and understand than Java. At the same time, Java code can be written once and executed from anywhere. A benefit to the Java platform is that it lets you download questionable code and run it in a secure environment, which cannot affect its host system. Furthermore, Java is network-centric, meaning you can create network-based applications. Whichever you choose to learn is based upon your preferences, determination, and background. If you already comprehend the basics of Python, you might want to expand upon your knowledge before moving on to Java. However, if you have the time and will, learning Java allows you to program for a wide variety of environments that might make it more fulfilling in the long run. If learning Java or Python sounds daunting, you can build your website with HostGator Wordpress hosting in just a few hours.
*****Author Bio: Natalie Lehrer is a senior contributor for CloudWedge. In her spare time, Natalie enjoys exploring all things cloud and is a music enthusiast. Follow Natalie’s daily posts on Google Plus, Twitter @Cloudwedge, or on Facebook. Image source: https://www.flickr.com/photos/ahayward/21203103/in/photolist-2SEWK-gu8vyH-9dampt-gu9efE-gu8wyi-gu82cw-gu9eKC-gu9pbP-gu98Fd-gu8wge-gu8QvR-gu93vo-gu9e7o-6Fypq-9H4Sh6-4p3T96-2SEWd-chREkJ-ez4jVd-gu9fpa-gu87nS-gu9ntk-gu8XML-gu8MRx-gu8Ryx-gu988E-gu9cke-gu9eca-gu9oRv-gu88r5-gu95sj-6hJWKV-gu82XE-gu8RZx-gu8NJz-gu9hst-gu8SHh-gu8c5C-gu9ubZ-gu9tTz-gu9w4X-gu8Xa3-gu8a5f-gu8CPp-gu9env-gu8Ayc-gu7Z6N-gu8Ex4-gu9aHE-gu86V9
Thursday, October 2, 2014 by Natalie Lehrer
How well does your web hosting perform? Are you sending web pages in a timely way to visitors to your site? Is your application correctly handling simultaneous requests? Do you actually know what can be measured – and which measures are relevant to your situation? Web hosting performance testing can give you valuable information that can let you keep visitors longer on your site, make sure you can accept the right number of simultaneous visitors, handle overload situations and detect possible design or programming deficiencies.
Latency or How Long It Takes to Get Back to a Visitor
Let’s start with the case of just one visitor (naturally, you’ll probably be aiming for rather more, but we’ll discuss this below.) Normally, you want the response time for that visitor to be as fast as possible. In other words, between the moment when the visitor clicks to send you a request and the moment the visitor sees your response, the least time possible should elapse. This ‘latency’ can however be determined by several different things, including the power of your web hosting platform, the size of your network connection and the power and network speed of your visitor’s computer. You can improve the first two, but the last two are out of your control (although keeping your web pages simple may help.)
Performance Under Load
Ideally, you should have an idea of how many visitors are likely to access your web hosting platform at the same time. If this is not feasible, then you should at least know how many average or typical users can actively work with your site simultaneously, and plan ahead for options to increase capacity if you need to. Different solutions, either free or paying, online or in-server, are available for conducting load tests with up to a few million simulated users or more. Whichever solution you choose, make sure your test is representative of both user numbers and types of activity, including number of pages called per hour, number of requests for database information, ‘think time’ and so on.
When It's All Just Too Much
If your web site is significantly more popular than you imagined, your web hosting facility may not be able to cope with all the traffic. Then what happens? Does your site send out a polite apology about lower performance while stopping any new connections, or does it just crash without warning? Stress tests are designed to find out what (really) happens under conditions of excessively high loads. How much this affects you will depend on what kind of website you operate. A web site for a bird spotting association that simply crashes may just be an irritation. A web site selling hot new fashion articles that simply crashes could lose you important revenue and customer loyalty.
A More Technical Test
The soak test is done by starting your web site or application and leaving it to run (normally) for an extended period of time to see whether this produces any abnormal conditions either in the application or in the web hosting platform it runs on. One example would be memory leaks, a common enough problem when an application uses some main memory, but fails to return it for general use when it’s finished with it. Testing for these kinds of conditions typically requires technical expertise, for example by the person or team designing the application in the first place.
Finally, Who is the Judge of ‘Good Performance’?
Performance, ultimately, is all about making sure customers or end-users are satisfied with what they experience. Your web hosting platform may be supercharged in processor power and memory, yet they may still complain. Or it may be far more modest and still reply adequately to user expectations. Falling traffic and user comments on your blog (or similar) may indicate a problem, but prevention is always better than cure. There’s only one way to find out what users really want, and that’s to ask them. Armed with this information, you can then do the right performance tests and confirm or tweak afterwards, as appropriate.
Author Bio:Image source: https://www.flickr.com/photos/video4net/4102797678/in/photolist-7fxUP1-csmoYf-7C3yps-9RCj9C-ahC6R9-zhLTR-65ho4J-65hog3-65d6Gc-65d7Ex-65d7ug-65d7i6-9ME8p3-aWJPyZ-65jBWR-7C3ypb-7C3yoN-7BYKHv-7C3yoY-4Whues-9oXHMe-4So2a5-wEq41-6F8avn-xvcic-dzZjrH-4So2pQ-9kzTZu-ayfSbd-zhMYn-ahCo27-8KtMnD-5NFE6D-9ME8pd-8kQ3b-4So2Zo-4SiPLi-8p1sAC-hYuBDZ-9ME8p9-9ME8ph-deYPPh-ahzkA6-zhMYj-xvcia-enp8Um-ahC7HY-ahCnjS-ahzA8t-ahCns5
Natalie Lehrer is a senior contributor for CloudWedge. In her spare time, Natalie enjoys exploring all things cloud and is a music enthusiast. Follow Natalie’s daily posts on Google Plus, Twitter @Cloudwedge, or on Facebook.