Blog

Short review of Erlang web frameworks

Erlang is a programming language that appeared in 1986. Originally it was designed to be used in telecom applications development but nowadays it is used in different spheres like instant messaging, e-commerce, computer telephony, banking. Erlang is effective when system has to be soft, real-time, scalable with high availability. Concurrency, distribution and fault tolerance is supported by Erlang’s runtime system. There is a set of Erlang libraries called OTP. OTP includes distributed database, tools for debugging and release handling.

Erlang can be used to build web applications with the help of frameworks. There are four actively maintained frameworks: ChicagoBoss, N2O, Nitrogen, Zotonic and Erlang Web which is no longer maintained.Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Quick tour on how Ruby talks to the world

A quick reminder about producing text messages in Ruby.

Talk to the world

The basic method for text output is puts from IO:

puts "Hello World"
# Hello World

With interpolation it’s possible to insert some expression in a string:

age = 2016-1990
puts "I'm #{age} years old"

# I'm 26 years old

For global, class and instance variables one can omit braces:

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Jenkins for Rails

Automated testing is a commonly used practice. It saves you from boring routine and detects problems while you are developing your product. One of the tools which can help you with this is Jenkins, cross-platform, continuous integration and continuous delivery application with rich plugin ecosystem.

To show how to use Jenkins for automation testing for rails I’ve created test rails app and put it on github and created a server on Ubuntu, which I will refer to by the URL http://jenkins.example.com. First thing we need to do is to install Jenkins and Git packages on our server.

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Big Data and Mobile Marketing

About a decade ago, the FCC required cell phone manufacturers to include GPS sensors in their products to aid in emergency calls. In addition, smart phones’ integration with social media have turned the inside of ones’ pocket into an inside look on the person’s lifestyle, consumption, and habits. This has since opened up a new way of collecting data on consumers, as almost everyone has a smart phone on them at all times.

What began as a safety measure has grown into an entire new way to access information in real time, through our handheld mobile device.  We now turn to our smart phones for the smalles request.  From searhing for incredients to a recipe while in a grocery store, to searching for product features or comparative shoppoing on a new car, while we’re in the dealership.  Indeed, our mobile devices have become the default source of information for any and all requests, purchases or curiousities.

This development has provided a wealth of new user data that companies are using to identify consumer spending habits, brand engagement, depth of product research, social interations and ways they influence others to make similar purchases, and real-time spacial movements in stores, restaurants, events, etc.

Smartphone apps infographics

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

What is Big Data?

Big Data is a popular term used to describe the exponential growth and availability of both structured and unstructured data. The quantity of which is so large that it exceeds the processing capacity of traditional database systems. Analyzing such vast flows of information can radically improve company’s perform but you must choose an alternative way to process it.  For the past decade, Sphere Software has been working with all types and sizes of companies to utilize big data to enhance performance, acquire new customers and identify new areas of revenue growth.  We thought we’d share a brief overview on the subjet as a primer for those not already familiar with the concept.

Word Cloud "Big Data"

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Best Practices for Agile Ruby on Rails Development

Ruby on Rails is an open source web application framework built on Ruby. While Rails is 100% free, there is a lot of argument over its effectiveness in comparison with more standard, tried-and-true web applications. Despite its criticism, many big players such as Hulu, Groupon, and Twitter have incorporated its use into their booming platforms, so it is definitely worth at least knowing a little bit more about it.

Like most open-source frameworks, Rails has found a home in the agile community.  This modern approach to software development  promotes early deliveries, feedback from the client, and adaptation over the course of the development process. Because of its malleable nature, Ruby on Rails development works well with this approach.

There are a handful of best practices to keep in mind when developing Rails applications in an Agile environment.  We’ve provided a highlight of the most essential.

1.  Don’t Repeat Yourself: Is this code DRY enough? If a code only exists in one place, changing it later will be much easier. Rails is equipped with helpers and libraries to help implement this approach. More concise and efficient code allows changes to be made easily later on in the development cycle, as is the norm in an Agile methodology.

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Mobile Application Development with Android Studio

Android Studio is an integrated development tool (IDE) for mobile application development on Google’s Android platform. It is based on IntelliJ IDEA platform. Google has developed this product with an eye to distance itself from the Eclipse. It has stopped work on the Eclipse add-in, this means that Android Studio really is the only way to develop Android apps from now on.  Always on the forefront of new advancements in mobile developement, Sphere Software’s mobile team is already working with this exciting new application.

Google claims that its IDE will be much faster and productive than Eclipse. It has even provided specific migration steps just for Eclipse users to allow them to migrate their existing projects from Eclipse. It strongly recommends the mobile application developers to move to Android Studio to benefit from the latest IDE updates.
studio_splash

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Tips to Achieving Effective UI/UX

High quality user interaction and user experience (UI/UX) is one of the hottest topics in the digital space these days.  As the digital marketplace contnues to mature, companies are scrambling to find any and every way to differentiate themselves from the compeition.  This can only be achieved though optimizing your UI/UX design.  In this digital economy, a high quality user experience is as important as the overall quality of the product or service behind the experience.

Sphere Software has a great deal of expertise in positining our client’s prducts and services using the most effective UI/UX strategies.  Here’s a shortlist of general tips that we use to guide our in-house practice.

ui_ux_experience

1. Focus on the Experience.

The first step is engaging the target audience by creating something that delights your intended audience. Every user’s experience different, and is generally as much a reaction to aesthetics as it is to functionality. But it will determine how the user will judge your site in a matter of seconds. Focus on effective use of images, color schemes, interactive features, flow of information and how all of these features come together to form an emotional experience for the user.   Make sure this experiences aligns to your brand to reinforce your overall brand messaging.

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Big Data and the Internet of Things

By now everyone’s familiar with the term Big Data.  It’s everywhere you turn.  It’s a central focus of every business model, and has become the new foundation of the digital economy.  But related to this topic, yet seldom discussed is the quit new movement growing around the digitization of every facet of our modern life, commonly referred to as the Internet of Things (IoT).  From appliance sensors, to wearible technology, consumer products to mobile devices: if it uses software in any way shape or form, it’s generating data, which can be monitized in some way, shape or form.  This is the next phase of Big Data, and it’s coming fast.

InternetOfThingsHorizontal1

IoT in Industry

Industry was the first to adopt some of the earliest iterations of the current IoT movment.  All facets of manufacturing have been using sensors and quality control systems for decades, in effect pioneering many of the technologies being adapted in the consumer market today.  Today, every machine utilizes some form of sensors to monitor part wear, performance optimization, lifecycle tests and general research and development for future product design.  These sensors not only streamline production, they allow companies to mitigate risk and decrease costs.

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Top Regions for Offshore Software Development

The offshore software development market has come to full maturity over the last twenty years, giving rise to a wide selection of providers, all of which are hungry for your business.  In fact, there are so many providers in the global marketplace that most businesses can’t help but feel a little overwhelmed by the options.  We here at Sphere Software understand just how intimidating this process can be.  As part of an ongoing series of posts on this topic, this installment will examine the leading geographic regions of offshore development from around the world.

Identify Your Needs

It’s important to know what to look for in an offshore developer, or whether it’s the best option to suit your overall needs.  Offshore development shouldn’t be regarded as a cheap commodity, otherwise you’ll end up with low-quality solution will inevitably fall short of your expectations.  It takes an investment of time and resources to build a solid business relationship with an offshore developer, to ensure that you achieve the right balance of quality and cost-efficiency.  To that effect, it helps to identify your software development needs before you begin the search process.

 

Factors to Consider

Here’s simple checklist that can help you identify your needs:

 

  •       Are you looking for a short-term, stopgap solution, or a long-term partnership?
  •       How complex is the nature of your project(s)?  What are the specific technical capabilities that you’re looking to fulfill?
  •       Are you looking for specific frontend/creative capabilities?
  •       What are your project management resources? Are you looking to delegate, or maintain a hands-on role in the development process?
  •       Do you have specific project specifications (waterfall)or are you looking for more of a nimble/responsive (agile) developer that can adjust to your changing needs?
  •       Are there logistical factors (time zone differences, language/communication requirements, etc.) that need to be considered?
  •       Is cost the leading factor guiding your selection process? What are you’re willing to give up in order to satisfy this requirement?

Read more

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn