Altabel Group's Blog

node.js

Node.js is an open source runtime environment which is based on Google’s V8 JavaScript engine. Many companies and frameworks had attempted to run JavaScript on the server, but Node.js was the first runtime which was good at doing it at scale.

Node.js was first written in 2009, and since then its popularity has risen immensely. The list of companies using Node.js is big enough and includes such as IBM, LinkedIn, Microsoft, PayPal, and Yahoo!. Here is the link with projects, applications, and companies using node.js https://github.com/nodejs/node-v0.x-archive/wiki/Projects,-Applications,-and-Companies-Using-Node

The node.js package manager npm became the biggest package manager in the software world in 2014, and now has almost twice as many modules as similar package managers from Java and Ruby.

Benefits

JavaScript is everywhere on the web

JavaScript won a number of browser-side languages and technologies to become the “language of the web”. Now JavaScript is on the server-side, in databases, in the internet of things, robotics and more.

Performance

There are two fundamental reasons why Node.js is quick. To begin with, it uses the Chrome V8 JavaScript engine. Second is the event loop. Node.js performs I/O non-blocking and asynchronously. As opposed to blocking parallel threads, a task is sent to the event loop with a callback and proceeds with execution. Once it finishes the async task, the callback is invoked. This approach uses less memory and it is usually simpler to program. It is likewise especially quick for I/O operations.

Npm

Npm is the package manager for Node.js and is one of the reasons for the popularity and growth of Node.js. Npm makes adding libraries and third party modules very easy, handling all of the dependencies for you. Moreover, there are about 225k modules in npm with 2.5B downloads per month.

Tools

Node.js projects range from small and simple libraries to fully blown applications. You can not only run your entire back-end on Node.js but also you can run other aspects of your engineering operations and online presence with Node.js based software. There are basic libraries like Lodash for various utility functions or Async to help with control flow in your asynchronous code. There are drivers for working with all the SQL and NOSQL databases. There are web frameworks like Express or HapiJS. There are two popular tools for build/task runners, Grunt and Gulp. For testing, there are a few great frameworks such as Mocha, Jasmine, and Lab, which includes code coverage. A great tool for managing your Node.js processes is PM2. You can run a message broker with MQTT using Mosca. If you need a continuous integration/delivery server, then there is StriderCD. You can even use HarpJS for static website generation, Ghost for blogging, and NodeBB for community forums.

A large active community

The size and usage of npm makes it clear about the size of the Node.js community. There are various resources to learn Node.js together with approximately 105k questions on StackOverfow. Most Node.js project owners are quite responsive. There are a number of blogs posts, books, open source modules, active IRC channels, several Meetup groups, conferences, and even a few consulting firms dedicated to Node.js.

When to use Node.js

Node.js is built on great non-blocking event driven architecture model. In case your project or module can really make advantage for this model, then go for it. Some of the cases could be the following:

  • Single page applications (web applications in AJAX, mobile web applications)Node.js has ability to process many requests with low response times needed. It is also able to share things like validations between client and server side, which makes it a good choice for modern web applications doing a lot of processing on client side.
  • Real time web applications:Anything that requires real-time feedback from web server such as chat application, messaging applications or other collaboration tools is good with Node.js. It will be the best technology for this type of job. Ruby and Python can do these kind of features however Node.js will do it exceptionally great in terms of performance and simplicity of development.
  • Streaming Data:In case your plan is to build streaming applications then Node.js is what you need. Traditional web technologies frequently treat http requests and responses as atomic events. However, they are streams and not events. And consequently many great Node.js applications can be built to take advantage of this fact.
  • Building APIs:Mobile applications can benefit most out of it because they consume data mostly via web services in form of JSON APIs. It’s as well perfect for taking care of many requests that are I/O driven (e.g. operations on database) and scales nicely.

When not to use Node.js:

    • Heavy CPU utilizing applications:It’s not good using Node.js for applications that are very heavy on CPU usage and very light on actual I/O. Node.js permits to easily write C++ add-ons, so you could certainly use it as a scripting engine on top of your algorithms.
    • Enterprise applications:If you’d like to build an enterprise application which requires complex operations, it’s better to stick to proven technologies like JAVA, Python. Node.js still has a long way to go and is considered to be rather young technology and yet to prove itself.
    • Simple CRUD/HTML apps:While Node.js will eventually be a tool for writing all kinds of web applications, however your application won’t mystically get more traffic just because you write it in Node.js. If large part of your application is basically rendering HTML based on some database, using Node.js will not provide a lot of business benefits yet.

Some suppose that Node.js has a big future ahead and its popularity will be rising. Do you agree with this? Which future do you predict for it? I’ll be glad to hear your thoughts in the comments below :)
 

Yuliya Tolkach

Yuliya Tolkach
Yulia.Tolkach@altabel.com
Skype ID: yuliya_tolkach
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Java brings a lot of popular and user-friendly frameworks, content management systems and servers that help to simplify the application development process, website management process and much more irrespective of the size and complexity of the project. When it comes to CMS, Java possesses a host of CMSs that have been highly recognized in the market, but one CMS that has gained great popularity and attention from the developers and companies across the world is Magnolia.

Magnolia is an open source content management system which delivers exceptional simplicity on an enterprise level, combining user-friendly usage with a standards-based and flexible Java architecture. Companies such as Airbus Group, Al Arabiya, Avis and Virgin America use it as the central hub for their web, mobile and IoT initiatives. Founded in 1997, Magnolia is a privately-held company headquartered in Basel, Switzerland. The company has offices around the globe, and customers in over 100 countries.

Making a good CMS to cater the needs of the clients is never an easy task, and the developers Magnolia knows this thing better. Hence, Magnolia brings some of the much needed features and functionalities for the enterprises.

• Magnolia comes with a smart cache, a built-in clustering capabiliy and distributed deployment architecture that easily decouples authoring from publishing and the possibility to develop load-balanced public servers to bring more throughput and availability.
• It also offer code highlighting for the designers & developers, easy integration of 3rd party frameworks, extendable workflow, J2EE compliance, RSS generation & aggregation and more for the customization.
• When it comes to designing, it brings standard-based templating in JSP and servlets, unlimited page and component design, Freemarker as a template engine, custom tag library to speed up templating and pluggable templating engine for the designers.
• It brings Open APIs, advanced caching strategies, unlimited scalability, clustering & load balancing, transactional activation and tons of other performance related features & functionalities for the enterprises.
• From the security point of view, Magnolia brings flexible user permissions using role-based user management and distributed architecture, which is a need of today’s enterprises.
• It also enables team work through concurrent editing, deletion, address book, workgroup collaboration and some other features.
Apart from all these, Magnolia also enables search engine optimization, content tagging, configurable workflow, content versioning, social media integration, multilingual support, multi-site management, mobile publishing and tons of other enterprise-scale functionalities.

magnolia

However, like any other technology or platform, Magnolia also has some advantages and disadvantages. Let’s take a look at each of them:

The Pros
• It’s an open source.
• User friendly, easy to use for Administrators/Content Editors/Authors
• Good set of standard components in the standard templating kit (STK)
• Very flexible, almost anything can be customized
• Vast set of open modules for many additional features
• Leverage from page-based site or navigation.
• It utilizes installer, but the WAR files can be used to redeploy it to some other place.

The Cons
• Steep learning curve
• Inconsistent or lack of documentation
• Configuration via JCR-Tree can be error-prone and not very transparent
• Versions -4.5, 4.5+ and 5 all have shifts in paradigms
• Versioning and collaboration

All in all, Magnolia is a very promising CMS that integrates well into an enterprise java stack. It is predominantly suited for medium to large businesses where processes need deep integration and customizations. With regards to small businesses, Magnolia might be somewhat of an overkill.

How about you? Did you have a chance to work with Magnolia CMS? What is your attitude to it?

Please feel free to share with us your thoughts and experience here below.

 

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Kate.Kviatkovskaya@altabel.com
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

What is it?

Web Graphics Library (WebGL) is a JavaScript API for rendering interactive 3D computer graphics and 2D graphics within any compatible web browser without the use of plug-ins.

It is integrated completely into all the web standards of the browser allowing Graphics Processing Unit (GPU) accelerated usage of physics and image processing and effects as part of the web page canvas. Its elements can be mixed with other HTML elements and put together with other parts of the page or page background. WebGL programs consist of control code written in JavaScript and shader code that is executed on a computer’s GPU.

Developers often use it for games, but it is finally gaining visibility across the web. It is now being used for map visualizations, charting data and presentations.

Some history behind

WebGL emerged of the Canvas 3D experiments started by Vladimir Vukićević at Mozilla. He first demonstrated a Canvas 3D prototype in 2006. By the end of 2007, both Mozilla and Opera had made their own separate implementations. In early 2009, the non-profit technology consortium Khronos Group started the WebGL Working Group, with initial participation from Apple, Google, Mozilla, Opera, and others. Version 1.0 of the WebGL specification was released March 2011. Early applications of WebGL include Zygote Body. In November 2012 Autodesk announced that they ported most of their applications to the cloud running on local WebGL clients. These applications included Fusion 360 and AutoCAD 360. Development of the WebGL 2 specification started in 2013. This specification is based on OpenGL ES 3.0.

What is WebGL Doing?

WebGL has three distinct advantages over writing code that simply manipulates the DOM:

  • Tasks. Drawing reflective materials or complex lighting is rather tough. With JavaScript you could offload some of that to the GPU in your device and have that do the heavy lifting.
  • Performance. Using hardware acceleration (with GPU being built into your device), WebGL is a great fit for games as well as complex visualizations.
  • Shaders. Complex visual effects can be done with small programs – “shaders”. This may be very simple things (such as producing a sepia coloring effect), or more complex simulations (such as water or flames).

How to start?

Here are the essentials steps to create your first WebGL project:
1. Create “canvas” element
2. Obtain drawing context
3. Initialize viewport
4. Create buffers
5. Create matrices
6. Create shaders
7. Initialize shaders
8. Draw primitives

This could sound like a lot of work, so please have a look at some of the engines and frameworks that could be of help.

Engines and Frameworks

PlayCanvas
It is an open source engine which includes a number of options, along with an editor which helps visualize your changes as you make them. Some useful experiences they highlight include brand experiences for viewing high performance cars, as well as playable ads which you can insert into applications.

Turbulenz
It offers a 2D and 3D engine for developers to build, publish, and monetize games on their platform. Founded by former developers at Electronic Arts, this tool is also open source under the MIT License. You could download and build the latest Turbulenz Engine directly from the Github public repository. This includes everything from rendering effects and particles, to physics, animations, audio, inputs, and networking.

BabylonJS
Babylon is a complete JavaScript framework for building 3D games with HTML5, WebGL and Web Audio. It is an open source and free framework created by several people at Microsoft. It is updated on nearly a daily basis, and even offers a sandbox to play in and test out your code.

Pixi.js
It is a devoted rendering engine. There are a host of other engines covering game, sound and physics etc. and they all work beautifully with Pixi. It also has a number of added benefits including render auto-detect to fallback to Canvas when necessary, text support via bitmap (sprites) or webfont, as well as an asset loader.

Construct 2
It is a powerful ground breaking HTML5 game creator designed specifically for 2D games. It allows anyone to build games as no coding is required.

Phaser.io
It is also open source and besides, it offers TypeScript support, which is a strongly typed version of JavaScript. It also has some in-depth guides, and a showcase of Phaser made games.

Three.js
Three.js is a cross-browser JavaScript library/API used to create and display animated 3D computer graphics in a web browser. It is one of the more popular frameworks including everything you need to get running: renders, scenes, cameras, animations, lights. While this is fantastic for most things, it is lacking a physics engine, which will come in handy when creating a game. Three.js is made available under theMIT license. It even has an editor (beta) that you can play around in. The source code is hosted in a repository on GitHub.

PhiloGL
PhiloGL is a WebGL Framework for Data Visualization, Creative Coding and Game Development from Sencha Labs people. All lessons from Learning WebGL have been ported into the PhiloGL Framework. This is a great starting point for people wanting to learn PhiloGL and/or WebGL as well. This is also licensed under the MIT License.

Where else is WebGL used?

WebGL has not only been used in 3D web design and gaming, but also by some researchers for scientific purposes. For example, in a book named “Cellular Automata” the authors have used this technology to simulate Debris flow for the article “Visualization of molecular structures using state-of-the-art techniques in WebGL” tried to simulate molecules with it. More basic examples like simulation of the solar system are made many times by developers.

NASA developed an interactive web application called Experience Curiosity to celebrate the 3rd anniversary of the Curiosity rover landing on Mars. This Blend4Web-based app makes it possible to operate the rover, control its cameras and the robotic arm and reproduces some of the prominent events of the Mars Science Laboratory mission. The application was presented at the beginning of the WebGL section at SIGGRAPH 2015.

Hope the information about WebGL was useful for you  Have you ever used it? If yes, how was your experience? Please feel free to share your comments and thoughts in the comments below.

 

Yuliya Tolkach

Yuliya Tolkach
Yulia.Tolkach@altabel.com
Skype ID: yuliya_tolkach
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Nowadays content management systems (CMS) have become not just publishing tools, but also a powerful means for automotive management of a web-project. CMSs allow display, edit, indexing and publish content easily, make the adjustment of the interface and functional features flexible.

There are a number of systems that require being a high-qualified web-master to work on the project successfully and this article deals with how to choose the right CMS that would be the best match for a project in terms of design, programming and usability.

Choosing

The choice of the CMS could turn out to be a backbreaking task because the choice is extensive. However, a structured approach towards evaluating of the existing systems could make the choice easier.

Thus, let us talk over the criteria and what we should sharp our attention on, while taking a decision.

Below you could find 8 characteristics, that a good CMS should have:

1. Intuitiveness (easy in mastering and use)

Your CMS should have pretty simple and easy graphic user interface (GUI). A good interface means that the publishing of the content will be fast, will save a lot of time and increase productivity.

It is also vital from the end user point of view; I mean that if you develop a CMS that requires deep technical knowledge for an IT illiterate customer, he unlikely will be able to use it; therefore, it will abolish the whole idea of the CMS- to widen the customers’ opportunities.

2. Flexibility, easy adjustment

While choosing a CMS make sure that, you are not obliged to use your own templates. A number of CMSs allow using custom design with no limitations. In case a CMS gives you a limited template library, you are deprived of creative freedom and your site will not look individually.

Some of the adjustable CMS in accordance with the selected templates: Expression Engine, WordPress, Joomla, etc.

3. Module and plugin adjustment

A good CMS will allow you to add its useful features to your project, increasing the standard configuration with the help of plugins.

Plugin/ extensions/ modules (a various terminology is used for each platform) allow users to improve their project with useful parameters for interaction with the site.

It is better to select a CMS with powerful Application Programming Interface (API) in case you need custom extensions. Make sure that your CMS has an extensive list of the applied plugins. Though in the beginning you may not require a lot of them, still this need could arise later and it is vital that plugins are available for you in future.

4. No Need in Coding Knowledge

If you are more «design-oriented» than anything else is, make sure you select a CMS where you will not need to have extensive programming abilities to publish and maintain your site.

There is a wide selection of CMS’s that have WYSIWYG editors, letting you edit content without the need for code. Having to edit text through HTML markup can be time consuming and takes you away from other aspects of your managing and building your site.
Complex sites, however, can require a CMS that will let you type in some code, edit files with extensions such as .php, .css, .html, and make changes without that need for a third-party source code editor.

5. Optimized for Performance and Speed

Taking into consideration the speed your pages load on the browser, and how fast your site can make a connection to a server, is vital. Choosing a CMS that is bulky will drive away visitors rather then bring them in. By visiting examples of live sites, you will be able to gauge somewhat how fast pages load.

Keep in mind that you can increase the load time of your site by choosing a good host, and adding plugins that cache/compress/minify feeds, CSS, JS and also caches your database objects.

A simple and free tool that you can use to evaluate page response times of your CMS candidates is YSlow. Install it and head on over to demo sites of your CMS’s to see how well it’s front-end performs.

6. Security

Adequate security for your site is very important and must be in place in order to protect your content. There are CMS’s that allow you to install specific plugins and edit files/permissions in order to increase security levels. Make sure you choose a management system that offers modules to protect the integrity of your site. You can also protect your site by selecting a CMS that allows you to assign easily a different username and password to each user. This will let you view and control what each user has access to.

7. Documentation and Community Support

Nothing is more frustrating than trying to figure out how to do something, and not have references online that you can take advantage of. One way to ensure that you will not be running into this problem is by reading through the documentation of your candidate CMS’s. In addition, a quick Google search will tell you how popular and well documented a content management system is.

The availability (or lack thereof) of support from users of the system can be a dealmaker or deal breaker. When users are active and proud of being part of the community, you not only have access to individuals that are more familiar with the system, but also, you can be assured that the project will be developed continually. Nothing is worse than investing your resources and effort on a dead (or soon to be dead) project.

8. Emphasis on Web Standards and Best Practices

Content Management Systems developed under web standards guidelines and best practices will ensure that you won’t get burned later down the road. When applications are designed with best practices in mind, you can be assured ultimate cross-browser compatibility, lean-and-mean code, and ease of maintenance.

Look for content management systems that promote the use of web standards, and those that put it at the forefront of their development and design philosophy.

 
Some Key Content Management Systems to Consider

Now that you know the key characteristics of a good content management system, let’s take a look at a handful of major CMS’s that excel in most, if not all, of those areas.

 
ExpressionEngine

ExpressionEngine

ExpressionEngine (EE) is a flexible CMS for any scope of project. Within a few minutes, you’ll understand how to easily begin creating content. EE’s templating system lets you quickly see instant changes live. EE also has a multi-layered caching system to try and minimize the database usage. In addition, EE lets you embed and run PHP directly within its templates, very similar to WordPress.

ExpressionEngine has various features such as allowing you to have multiple sites with just one installation of their software. Just as we spoke in the above section dealing with connections and load times, EE has a unique template caching, query caching and tag caching keep the site running at a quick pace by storing database queries in memory to reduce database connections when generating web pages.

 
WordPress

WordPress

Nowadays WordPress is one of the most renowned publishing platforms.

It is widely known as a great blog-platform. WordPress is an open source product, could be downloaded, and installed unlimited number of times.

WordPress installations are very quick and easy. It only takes a few minutes for your admin panel to be operational. If coding is not your strong suit, then no worries, WordPress offers its users a WYSIWYG editor (called Visual Editor).

 
Business Catalyst/Goodbary

Business Catalyst/Goodbary

Business Catalyst/Goodbary (owned by Adobe) is a powerful ecommerce CMS for developers. This content publishing platform has an array of useful features such as email marketing and in-depth site analytics. Business Catalyst gives you an easy way for your business to gain an online presence in no time. GB allows you to easily keep track of a customer’s actions, build and manage a customer database of any size, and sell your products and services online. Business Catalyst integrates well with a lot of popular payment systems such as PayPal, Google Checkout and pre-integrated gateways.

 
Joomla!

Joomla!

Joomla! is an advanced CMS with excellent function and content management. The installation process is pretty quick and easy. Joomla! is a complete CMS allowing you to build simple to advanced sites. Joomla also has super support for access control protocols like LDAP and OpenID, and can interface with popular and open API’s such as Google APIs.

With Joomla!, you’ll have more than 3,500 extensions at your disposal along with the support of an entire community. With a simple extension, you can add almost any needed functionality to your site.
One downside to Joomla! is that their heavy-artillery list of extensions often require you to purchase them. Hopefully, in the future, they will make their plugins free in order to aid users on a tight budget.

 
Drupal

Drupal

Drupal, a great open source CMS supported by a very active community, lets users publish content through any time with very little restrictions. Once the installation is finalized, you will discover features such as forums, user blogs, OpenID sign-ons, profiles and more. This CMS was written in PHP/MySQL for ease of customization and has one of the highest-regarded API’s in the open source content management system field.

 
Cushy CMS

Cushy CMS

Cushy CMS is a hosted and free content management system that is lightweight, though powerful enough to jumpstart your site in a moment. With Cushy CMS, you have to add CSS styles to the sections that you will eventually change or edit. This CMS allows you to access and store content while it uploads this same data to server.
Cushy was built for content editors and designers and so it is very simple and easy to manage. Being a SaaS, you do not need to install or self-maintain the CMS.

 
TYPOlight

TYPOlight

TYPOlight is a great match for assembling and support of several site simultaneously. Thus, it is an ideal solution for web-developers. With the help of TYPO CMS you are able to create a simple-designed site as well as a complex one with extensive functionality.

 
RadiantCMS

RadiantCMS

RadiantCMS is a Ruby on Rails app. Radiant has a very active community for core support and updates. If you are a RoR developer, it is right up your alley. Radiant has concentrated on making things much more user-friendly for end users and web designers. RadiantCMS also contains an innovative custom tagging language (called Radius) that is easy to pick up.

 
SilverStripe

SilverStripe

SilverStripe is an open source application written on top of PHP and was designed with emphasis on flexibility. SilverStripe has many configurable options and is geared towards content-heavy websites.

This CMS was completely built on its own PHP framework, called Saphire. SS offers content version control and great SEO support. All users alike are welcome to customize the administration area for their clients or themselves.
The only downside with SS is that the default templates are garbage; however, that is nothing a little hard work would not fix.

 
Textpattern CMS

Textpattern CMS

Textpattern CMS is a very popular system for many designers due to its simplicity.
Textpattern strives to provide great content management that produces quick, easy, and desirable web standards-compliant pages. There is no WYSIWYG editor because Textpattern utilizes textile markup for content generation.

The backend is very easy to use and follow. New users will learn the administration section with super speedy ease.

 
Alfresco

Alfresco

Alfresco is a JSP enterprise content management solution that is quick and easy to install. Alfresco lets you drop files into folders and convert those files into interactive web documents. This CMS is not as easy to become familiar with when compared to others, however, with a little bit of time investment, you will definitely get the hang of it. Alfresco could be targeted more towards the intermediate developer, although its pure functionality allows it to become very usable. The administration GUI is very organized, well maintained, and easy to navigate.

 
Thank you for your attention!

I hope that this article will help to make a reasonable decision on what CMS suits your particular project in the best way.
If you have experiences (good or bad) with the content management systems shown here or any tips on how to evaluate the right CMS, feel free to share in the comments, I will highly appreciate!

 

Tatyana Ogneva

Tatyana Ogneva
tatyana.ogneva@altabel.com
Skype ID: ognewatatyana
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Nowadays one can easily become overwhelmed by all the virtual reality news. There was new hardware announced, heaps of games to play and peripherals that will be released for hardware soon. The majority of VR technology is on curve to come out in 2016.

Before going into the details of high-tech world, it’s important to define the difference between virtual and augmented reality. Virtual reality is able to transpose the user and bring him someplace else via closed visors or goggles. Augmented reality takes our current reality and adds something to it. It does not move us elsewhere, it simply “augments” our current state of presence, often with clear visors.

Below you will find a brief breakdown of the most popular virtual reality headsets.

PC/CONSOLE

Oculus Rift is the most famous headset that gave rise to the current boom in VR-technology and HMD.
The latest version of the device promises a resolution of 1080×1200 in both of its OLED screens (2160×1200 total), a 90 Hz refresh rate, and a FOV (field of view) greater than 100°. It has integrated headphones which provide spatialized HRTF audio. The consumer version will be shipped in Q1 2016.

HTC Vive was created in cooperation with the Valve games creator. Valve is one of the biggest names in game publishing and digital distribution, though HTC wants to tap the headset’s potential for immersive education. The Vive lets users walk around a 15-by-15-foot space in VR, complete with two included controllers for interacting with the environment. 90 Hz refresh rate provides a good performance without any delay. Vive is connected to a PC and operates with its own gaming ecosystem.

Razer OSVR (Open Source Virtual Reality) is an open VR ecosystem meant to encompass a range of headsets, accessories and software experiences. Creators can download the software and schematics necessary to build their own OSVR headsets, or can register to buy pre-built OSVR Hacker Dev Kits. OSVR has a ton of development support, with major players such as Leap Motion, Ubisoft and Gearbox Entertainment. Razer OSVR is focused on VR developers and enthusiasts. The headset is compatible with additional components from third-party manufacturers.

MOBILE

Gear VR operates from your Samsung smartphone. You just need to insert your phone into the headset body. Co-developed by Oculus, Gear VR is smaller and lighter than its PC-based gadgets, and offers a mix of VR games and entertainment experiences. The Gear VR Innovator Edition is available now for both the Galaxy Note 4 and Galaxy S6. A new version was released in November 2015, and it supports the Galaxy Note 5 as well as all variations of the Galaxy S6, including the S6 Edge Plus.

Google Cardboard is an Android-based platform meant to allow anyone to experience VR cheaply. Users can build their own Cardboard headsets using Google’s schematics or buy inexpensive third-party viewers such as DodoCase or I Am Cardboard. Once you insert your Android phone into your viewer, you’ve got a virtual reality headset.

VR development tools

We reviewed most popular VR platforms for building VR projects. Most of the platforms are famous for their powerful systems which connect range of products from software to solution designs.

Unity is a flexible and powerful development platform for creating multiplatform 3D and 2D games and interactive experiences. It’s a complete ecosystem for anyone who aims to build a business on creating high-end content and connecting to their most loyal and enthusiastic players and customers.

Unreal Engine is a complete suite of game development tools made by and for game developers. From 2D mobile games to console blockbusters and VR, Unreal Engine 4 provides full cycle of tools for the development.

WorldViz is a full range of products and support, including enterprise grade software, complete VR systems, custom solution design, and application development. Its Vizard VR Toolkit provides a powerful platform for creating a new breed of visual simulations. One can build applications that provide users with the good experiences across virtual reality immersive technologies such as displays and sensors.

GameWorks VR is NVIDIA’s set of APIs, libraries, and features that enable both VR headset and game developers. GameWorks VR is aimed at game and application developers, and includes a feature called VR SLI, which provides increased performance for VR applications where multiple GPUs can be assigned a specific eye to accelerate stereo rendering. GameWorks VR also delivers Context Priority for providing control over GPU scheduling to support advanced VR features such as asynchronous time warp. There’s also a Direct Mode for treating VR headsets as head-mounted displays accessible only to VR applications. GameWorks VR is being integrated into leading game engines, such as those from Epic Games, which has announced support for GameWorks VR features in an upcoming version of the popular Unreal Engine 4.3.

OSVR platform is fully open-source, so you can have complete access to all you need (from motion control, to game engines, and stereoscopic video output) whether you’re interested in working with hardware developmental kit designs, or software plugins. Companies such as Unity, Unreal, Intel, Bosch, Razer, Sixense, and Leapmotion are all supporters of the OSVR.

High Fidelity is an open source virtual reality platform for creating a social metaverse. It’s still a work-in-progress. High Fidelity supports Java Script, Oculus Rift, Samsung Gear VR, Unity, Unreal Engine, PrioVR, Sixsense, HTC Vive headset and Razer Hydra. High Fidelity has the potential to be the next Facebook in VR. For now, the majority of development in the space happens in traditional game engines like Unity and Unreal. High Fidelity’s worlds put it somewhere between those professional tools and customizable video games, opening up innovation in the space to those who are willing to get technical but don’t want to build something from the ground up.

Conclusion

VR technology is already right around the corner, and one must admit it’s awesome. Finally VR is becoming accessible, and it’s only the beginning, when you can now put yourself in the action of your favorite digital worlds, instead of simply gaming on a TV.

Nearly every industry will soon use VR for teleconferencing and training. VR in gaming already allows travelling into gaming titles (Rigs: Mechanized Combat League, P.O.L.L.E.N, Eve: Valkyrie, etc). All the Virtual Reality headsets currently in development will make going behind the screens feasible. For some non-gaming professionals, 3-D experiences are already transforming the way they do their jobs:

– Real Estate
Instead of spending hours driving around looking for the perfect house, savvy realtors will give clients VR tours of properties. Matterport (real estate agency in the US) is already selling a 3-D camera system to help agents create these walk-throughs.

– Mental Health
Doctors at research hospitals have used VR for decades to treat patients with burns and PTSD. But now a company called Psious offers a headset and software bundle to help therapists treat anxiety disorders like arachnophobia and fear of flying with a VR version of exposure therapy.

– Design and Engineering
Ford Motor is using Oculus tech to evaluate virtual versions of vehicles before they’re built, and startups are developing VR design tools for everyone from architects to nanotech engineers.

According to Altabel’s experience in VR development, we believe that VR has the promise to improve every aspect of technology, whether in the medical field, education, or in gaming, and with all of the emerging developers approaching this tech from their own perspective, virtual reality should be a fully realized technology by 2016.

And what do you think of Virtual Reality? Have you ever thought of trying VR in your business? Which VR platform do you prefer and why? Let us know in the comments section below.
 

11d78a3

Svetlana Pozdnyakova
svetlana.pozdnyakova@altabel.com 
Skype ID: Svetlana.pozdnyakova
Business Development Manager (LI page)
Altabel Group – Professional Software Development

 

With the end of the year approaching, many experts make predictions for the market directions at least for an upcoming year. Such organizations as Gartner have already announced their visions. So let’s have a closer look at the top tech trends and discuss how it will influence of lives and business strategies.

1. The Device Mesh

The device mesh refers to an expanding set of endpoints people use to access applications and information or interact with people, social communities, governments and businesses.

The device mesh is basically a part of Internet of Things. We all have noticed a tremendous growth in this area this year. Many companies are stating that they’ve got the best platform for internet of things. Still most of them ignore the fact that they all are just fragmented. It’s quite obvious that users would benefit more if there was an ecosystem where data was shared more broadly. This trend is expected to evolve in 2016. The value of the combination is much greater than the sum of the parts, experts say.

2. Ambient User Experience

This trend results from the previous one. It’s expected that sensors will gather more contextual information. Here experts are talking about a long-term future of immersive environments with augmented and virtual reality, but for now it’s mainly about continuity between devices and location.

“Instead of the user having to go and look for something like hotels, the device would already know what kind of hotel they are looking for based on what hotels they have picked in the past.”, experts say.

Context comes from both human and physical elements. The former is emotional state, habits, interests, group dynamics, social interactions and colocation of others, present tasks, and general goals, while the latter is the user’s absolute position, relative position, light, pressure, noise and atmosphere of the area.

3. Information of Everything

According to Gartner, by 2020, 25 billion devices will be generating data of all possible kinds about almost every topic imaginable. Looks like a chaos, doesn’t it? So the most challenging trick is to be able to sort out this data and make sense of it. Hence the need in different semantic tools, classifications and data analysis will only arise. So this is where some companies might consider expanding into.

4. Advanced Machine Learning

Another tech trend for 2016 and beyond – and tied up with the Information of Everything – is advanced machine learning. It basically means that computers are going to automate data processing by learning and adapting. The end result is artificial intelligence. In the process, much of the initial analysis can be done by machines and people will need to engage at a higher level as a result.

5. Virtual assistants

The software virtual assistants are also bringing the change. Google Now, Cortana, Alexa and Siri are just the beginning. Many specialists are exploring how they can use autonomous things and agents to augment human activity and free people for work that only people can do.

6. Adaptive Security Architecture

The majority of CIOs list security as their top priority, especially with an increased number of companies that have experienced breaches. That’s why the development of adaptive security architecture is inevitable. Techniques to avoid detection include frequently checking antivirus results and changing versions and builds on all infected servers when any traces of detection appear. Cloud-based services and open APIs only make the demand for adaptive security higher.

Among other trends, experts mention 3D-printing and bioprinting in particular, bluetooth beacon and others. These trends have already set foot in our lives, they are just going to expand further. So which of them have influenced your life in particular? Do you think one of them will outpace the others? Please share your thoughts and predictions here. Thanks a lot!
 

Aliona Kavalevich

Aliona Kavalevich
Aliona.Kavalevich@altabel.com
Skype ID: aliona_kavalevich
Senior Business Development Manager (LI page)
Altabel Group – Professional Software Development

 

iBeacon is the name used for Apple’s technology that provides location-based services and information to mobile applications on both Android and iOS devices using Bluetooth Low Energy.

The beacons themselves are small transmitters that can be placed in stores or specific points of interest, such as museums or airports. Apps installed on mobile devices “listen” for the signal and respond accordingly when the phone comes within range.

iBeacon changes shoppers into byers

First of all, iBeacon technology opens great possibilities to retailers. Some of American and European big retailers already take advantage of iBeacon: Walmart, Macy’s, Tesco, etc

Using iBeacon, customers can find and watch videos, receive coupons and other discounts in real time, depending on where they are in a store.

IBeacon also helps to collect analytical info about customers` experience. Businesses and retailers now have a direct way to find out what customers are doing, exactly where in the store they are doing it, what they are looking at, how long they are looking at it, and maybe what they decided to buy at the last second instead.

At last, iBeacon can bring popularity to contactless payment. iBeacons ability to track a specific phone, linked to an Apple ID and user account opens the door for an Apple-based payment system.

iBeacon is not only about retail. The iBeacon ecosystem has the potential to change other industries. Here are some examples.

Event Industry: conferences and concerts, museums and exhibitions.

Here are a few ways iBeacons could help to manage events and improve the attendee experience:

-Attendee check-in. Using the event’s app, attendees check themselves in and avoid line-ups.

-Navigation. iBeacons provide devices with extremely accurate location services. In large conference facilities, museums and exhibitions, iBeacons can be used to power hyper-accurate floor maps.

-Networking. Using iBeacons, attendees can network through an opt-in feature in the event’s app, allowing them to discover and message other attendees. With Linkedin integration, attendees can get a detailed look at who is around them and decide who they would like to connect with. iBeacons were successfully used at Cannes Lions festival for networking with attendees.

-Promotions and advertisements. Instead of distributing brochures or physical promotional materials, an exhibitor can send targeted promotions to attract attendees to their stand.

-Gamification. Integrating gamification into events will provide new ways to engage and stimulate attendees. For example, iBeacons could be used for social games to drive networking, venue tours tailored to indiviual interests, or scavenger hunts for exclusive information and prizes.

Home automation systems

As we get closer to the coming smart home revolution, it’s clear that smartphones and tablets are going to be the devices that we use to control our lamps, lights, thermostats, sprinklers, security systems and entertainment systems. Beacons will detect when you arrive home and as you pull into the driveway , the lights will come on. The door is unlocked for you as you approach itJ

Restaurants

Enabled with touch devices, waiters don’t have to rush to the kitchen in order to dispatch orders. In other cases, clients can make orders directly on tablets available at the table. With iBeacons, the app automatically knows which table the waiter is at. It can display the client name (with eventual dinning/preferences history) and automatically associate orders with tables without requiring waiters to manually select a table number.

Education

The iBeacon platform offers a wide range of applications that can be applied on an educational context. From simple games that require students to move around, explore and find things to more scientifc or technical experiments in the classroom. Moreover teachers can track who from the students are present and send notifications to the parents whose children are away.

IBeacon is a new emerging technology that may change the world we live in. Things move quickly in any field in which a technology innovation has backing and breadth like this. This short list is only an introduction to the possibilities of iBeacon and where this technology can be applied.

And what do you think of iBeacon? Will it change our lives in the near future?

I`ll be happy to know your thoughts.
 

Anna Kozik

Anna Kozik
Anna.Kozik@altabel.com 
Skype ID: kozik_anna
Business Development Manager (LI page)
Altabel Group – Professional Software Development

%d bloggers like this: