Altabel Group's Blog

Posts Tagged ‘Facebook

For almost 15 years ASP.NET has been one of the best web development technologies and many developers consider it to be the best offering from Microsoft. ASP.Net evolves to bring in better features and functionality, which helps businesses scale better. Each year developers see few new trends that enhances development and shortens the time-to-market the solution. Here we will discuss a few trends that will benefit both developers and businesses indulging in ASP.Net.

React

React.js is a JavaScript library for building user interfaces, built by top engineers at Facebook. Facebook’s dev team built React to solve one problem: building large applications with data that changes over time. React lets you express how your app should look at any given point, and can automatically manage all UI updates when your underlying data changes. React.js is declarative, which means that React conceptually hits the “refresh” button any time data changes, and knows to only update the changed parts. React was used in-house at Facebook before being released as an open-source project to the public, so you can be certain it knows how to handle an astronomical amount of data. React was created by Facebook in 2013, and then released as an open-source project. This means that Facebook’s developers solved React’s major problems first, and then made the code available to the world.

Let’s have a glimpse at it benefits.

Data Flow in One Direction – Properties are passed to component to render HTML tags. Component itself cannot change the property; instead, it requires a callback function to modify the property values.

Virtual DOM – is a JavaScript tree of React elements and components. React renders the virtual DOM to the browser to make the user interface visible. React observes the virtual DOM for changes and automatically mutates browser DOM to match the virtual DOM.

JSX – is a Javascript XML syntax transform, which helps in using HTML and rendering its sub-components. It is a preprocessor step that adds XML syntax to JavaScript. You can definitely use React without JSX but JSX makes React a lot more elegant. Just like XML, JSX tags have a tag name, attributes, and children. If an attribute value is enclosed in quotes, the value is a string. Otherwise, wrap the value in braces and the value is the enclosed JavaScript expression.

Easy to Integrate – React can be simply integrated with other tools or frameworks like Jest, Angular.js or Backbone.js.

Xamarin

Xamarin is highly popular mobile development framework with the rule write-once-run-everywhere coding for three leading mobile platforms: Windows, Android and iOS. It empowers developers to write in a single language on a single code base for their app to reach over billions of smart devices irrespective of the platform. Xamarin delivers perfect look and feel of any given platform’s native UI with power-packed functionality and native app performance. Xamarin eliminates the need to manage separate development teams or having to choose one platform over another.

Following are few more benefits of Xamarin:

Xamarin uses the C# programming language
C# is capable of doing anything you could do in Java, Objective-C, and Swift – and it works on platforms that use any of these. Most applications can share 75% or more of their coding, helping to make development on multiple platforms easier than ever before. Many functions unique to each device are mapped at runtime to correspond to that specific device, resulting in an end-user experience that works the way they expect it to work.

Xamarin can import and convert existing code
Do you have existing Objective-C or Java code? Xamarin uses an automatic binding generator to match code like custom controls and frameworks to your new app, and a little bit of testing is usually enough to fix any glitches that occur. By importing your existing code, you can hit the ground running and reduce the time it will take to roll out your improved app.

Xamarin offers same-day support for new OS releases
One of the biggest problems with apps is updating them when a new operating system comes out. These changes can cause major disruptions in the way some functions work, but this particular developer has been able to offer same-day updates that allow you to start taking advantage of new features and capabilities. These updates also mean that you can deal with any major disruptions to your app and get it back up and running if anyone was broken – your business can’t afford to have its tools stuck in limbo, and working with a company offering active support is one of the best ways of ensuring your investment won’t be lost at a crucial time.

Elasticsearch

Elasticsearch is the most popular enterprise search engine followed by Apache Solr based on Lucene. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elastic search was first released in February 2010, and is a free and open source distributed inverted index created by Shay Banon. It is developed in Java, so it is a cross-platform.

Below you can find major highlights of Elastic Search:

Real-Time Data Analysis – All data is immediately made available for search and analytics.

Distributed approach – Indices can be divided into shards, with each shard able to have any number of replicas. Routing and rebalancing operations are done automatically when new documents are added.

Multi-Tenancy – Multiple indices can be maintained by single cluster and can execute queries individually or as a group. Also, maintain alias of indices and keep them updated.

Full-Text Search – Elastic Search implements a lot of features: customized splitting text into words, customized stemming, facetted search, and more. Powerful, developer-friendly query API supports multilingual search, geolocation, contextual did-you-mean suggestions, autocomplete, and result snippets.

Easy-To-Use RESTful API – Elastic Search is API driven; actions can be performed using a simple Restful API.

Open Source – Elasticsearch is available freely, under the most adoptable and trusted open source license of Apache 2.

In addition, the Microservices, Azure, and AngularJS are also trending in Asp .Net. Nowadays, enterprise applications are in high demand, and these tools are playing a key role to hit the ground and running.

Thanks for reading!

Want to know more about Xamarin and React? Feel free to explore Altabel’s blog and find more information about the hottest trends in IT world!

 

Svetlana Pozdnyakova

Svetlana Pozdnyakova

Business Development Manager

E-mail: svetlana.pozdnyakova@altabel.com
Skype: Svetlana.pozdnyakova
LI Profile: Svetlana Pozdnyakova

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

 

“Computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty.”
Donald Knuth, 1974

 

It’s better to start your journey into the career of programming by answering the question “Do you really need programming?” This question does not apply to those, who majored in computer programming or was close to it. If at school you were good at math, if you like to spend a lot of time sitting in front of the computer, if you want to learn something new, then programming is for you. What is more, this area is now in demand and highly paid in the world, job vacancies for the post of programmers are always open. Isn’t it the best time to be a programmer?🙂

Everyone knows that the future programmer should be able to think broadly and to present the project from different perspectives before its implementation and realization. Unfortunately, the machine does not understand a human language. Of course, I’m not talking about Siri and other voice recognition — I’m talking about the creation of new software. To create the calculator, the computer needs to be given the task in the same way as the foreman explains to workers how to lay bricks. That’s why you can’t do anything without understanding the programming languages. Well, first you need to decide what kind of programming languages we should start with.

And here everyone chooses a language which will be useful for him. It depends on the kind of products you are going to develop. Most of us studied Turbo Pascal at school, and it’s no news that this language is practically not used anymore. So, if you want to join the team of programmers in the nearest future, the choice of language should be made sensibly.

Among the most popular programming languages in 2016 are Java, followed by C languages, then Python, JavaScript, PHP, Ruby, etc. It should come as no surprise that the more popular language is, the more chances you have to find work in the future. So, you’d better start with Java or C#, as these are the best paid and relatively simple learning languages of writing code. If you can’t cope with them, then you should try to learn Python. This language suits for quick and effective programming.

But if you have no programming experience at all you can start with something more simple for understanding. Good examples can be the basics of HTML and CSS.

Why? These two languages are essential for creating static web pages. HTML (Hypertext Markup Language) structures all the text, links, and other content you see on a website. CSS is the language that makes a web page look the way it does—color, layout, and other visuals we call style. Well, if you are interested in making websites, you should definitely start with HTML and CSS.

Let’s move to JavaScript. It is the first full programming language for many people. Why? It is the next logical step after learning HTML and CSS. JavaScript provides the behavior portion of a website. For example, when you see that a form field indicates an error, that’s probably JavaScript at work.

JavaScript has become increasingly popular, and it now lives outside web browsers as well. Learning JavaScript will put you in a good place as it becomes a more general-purpose language.

Some people also suggest choosing Python as the first programming language because Python’s program code is readable, first of all. You don’t even need to be a programmer to understand what is happening in the program. Due to the simple syntax of Python you will need less time for writing programs than in Java, for example. A huge base of libraries will save you a lot of strength, nerves and time. Large technology companies are working with Python: Yandex, Google, Facebook and YouTube. It is used for web applications, game development, software for servers.

Java can also be a good choice for a beginner. This language is more popular than Python, but a bit more complicated. At the same time, the development tools are much better designed. Java is one of the most popular languages for the backend development of modern enterprise web applications. It is used in Amazon, eBay, LinkedIn and Yahoo! With Java and the frameworks based on it, developers can create scaling web apps for a wide range of users. Java is also the primary language used for developing Android applications for smart phones and tablets. Moreover, after Java you will be able to work with low level programming languages.

PHP is one more popular language. The PHP language, along with databases (e.g. MySQL) is an important tool for creating modern web applications. Most of the sites developed on PHP are focused on a large amount of data. It is also a fundamental technology of powerful content management systems like WordPress. There are no normal imports in PHP, there are many solutions to one and the same problem. And it makes training more complicated.

 

 
The languages C and C# are a bit complicated for a beginner. But if you develop software for embedded systems, work with system kernels or just want to squeeze out every last drop from all available resources, C is what you need.

Ruby has begun to gain popularity since 2003, when the framework Rails appeared. Used widely among web startups and big companies alike, Ruby and Rails jobs are pretty easy to come by. Ruby and Rails make it easy to transform an idea into a working application, and they have been used to bring us Twitter, GitHub, and Treehouse.

Choosing a programming language may still seem challenging. It shouldn’t. You can’t go wrong. As long as you choose a language that is regularly used in technology today, you’re winning. When you are starting out, the goal is to become solid in the basics, and the basics are pretty similar across almost all modern programming languages.

Part of learning to code is learning a language’s syntax (its grammatical or structural rules). A much bigger part of learning to code, the part that takes longer and gives you more headaches, is learning to solve problems like a programmer. You can learn the grammatical structure of the English language pretty quickly; however, you won’t truly understand the language until you put that grammatical structure to use in a conversation. The same is true in programming. You want to learn the core concepts in order to solve problems. Doing this in one language is similar to doing it in another. Because the core concepts are similar from language to language, I recommend sticking with whichever language you choose until your understanding of the core concepts is solid. If you have a clear idea of your reasons for learning to program, and know exactly what you want to accomplish with your new coding skills, then you’ll be able to make the right choice.

How did you guys get into programming? What are the best programming languages for first-time learners?

Please, share with us your experience and opinion here below🙂

 

Kate Kviatkovskaya

Kate Kviatkovskaya

Business Development Manager

E-mail: Kate.Kviatkovskaya@altabel.com
Skype: kate.kviatkovskaya
LI Profile: Kate Kviatkovskaya

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

Let`s start from a bit of history. React.js is a JavaScript library for building UIs. It was created by Facebook development team to deal with large applications with data that changes over time: react.js hits the “refresh” button any time data changes, and knows to only update the changed parts. Firstly, react was used in-house at Facebook and then it was released as an open-source project and it has quickly gained popularity among developers.

Facebook is not the only one to use React:

Instagram is 100% built on React, both public site and internal tools ;

Yahoo`s mail client is made in React;

Netflix – the biggest paid video-streaming service;

Sberbank, bank #1 in Russia, is built with React;

Khan Academy uses React for most new JS development.

React in comparison to Angular.js isn`t a complete framework. However we can`t say that React.js is only “V” in the MVC. After a closer look, you can actually see that React.js is more than just “V”, it has quite some features of the C (controller) part as well. This is why React is so confusing to understand.

Let`s see why React.js stands out from the crowd:

Convenient architecture

Flux – is highly competitive to MVC. One-way data flow provides maintainability and efficient arrangement of data and DOM elements.

Virtual DOM

React developers suggested using “virtual DOM” in order to solve performance issue for websites with too dynamic DOM. All changes in a document are made there first, and then React looks for the shortest path to apply them in a real DOM tree. This approach makes the framework fast.

Components

React is fundamentally different than other front-end frameworks in that each asset is made up of many isolated components. Want a button changed across the whole platform? Change it once and voilà it`s changed everywhere.

By making the creation, distribution and consumption of isolated reusable components more straightforward, developers are better able to save time by using and creating common abstractions. This is true of both low level elements like buttons and high level elements such as accordions.

JSX

React.js uses a special syntax called JSX, which allows to mix HTML with Javascript. Markup and code are composed in the same file. This means code completion gives you a hand as you type references to your component’s functions and variables.

SEO  friendly

React is significantly more SEO friendly than most JavaScript MVC frameworks. As it is based on a virtual DOM you can use it on the server without needing a headless browser on the server such as Phantom.js to render pages to search engine bots.

React.js is a new interesting emerging Javascript library. It does have some drawbacks however it`s an excellent alternative for building large apps where data changes quickly. We are curious to hear about your experience in using React.jsJ Have you tried it?

 

Anna Kozik

Anna Kozik

Business Development Manager

E-mail: Anna.Kozik@altabel.com
Skype: kozik_anna
LI Profile: Anna Kozik

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

jsframework

Whether you’re building apps for the browser, mobile or desktop, Aurelia can enable you to not only create amazing UI, but do it in a way that is maintainable, testable and extensible.

Retrospective and today

Aurelia is a project of Rob Eisenberg, the author of a very popular MV * – framework for Caliburn.Micro XAML-platforms, Durandal. Understanding all the disadvantages of Durandal, Eisenberg engaged in the development of so-called NextGen framework. In 2014 he began to work in Angular team on the second version of the framework. However, several months later, Rob decided to leave the Angular team since the direction of Angular 2, in his opinion, had changed a lot. He gathered a large team and returned to work on the framework of his dreams. And Aurelia is the result of that work.

JavaScript of tomorrow?

By using modern tooling Aurelia was written from the ground up in ECMAScript 2016. This means you have native modules, classes, decorators and more at disposal.
Aurelia is written in modern and future JavaScript, it takes a nowadays approach to architecture. It’s built as a series of collaborating libraries, which form a powerful and robust framework for building Single Page Apps (SPAs). However, Aurelia’s libraries can often be used individually, in traditional web sites or even on the server-side through technologies like NodeJS.
Aurelia’s code is open sourced under the MIT License, a very permissive license used by many popular web projects today. The starter kits are available under the Creative Commons 0 license. There is also a Contributor for those who wish to join the team in working on Aurelia. Ultimately, this means that you can use Aurelia without fear of legal repercussions and it can be build in the same confidence.

Benefits of Aurelia

Clean and Unobtrusive – Aurelia is the only framework that lets you build components with plain JavaScript. It stays out of your way so your code remains clean and easy to evolve over time.

Convention over Configuration – Simple conventions help developers follow solid patterns and reduce the amount of code they have to write and maintain. It also means less fiddling with framework APIs and more focus on their app.

Simple, But Not Simplistic – Because of the simple design developers are able to learn a very small set of patterns and APIs that unlock limitless possibilities.

Promotes the “-ilities” – Testability, maintainability, extensibility, learnability, etc.- Aurelia’s design helps developers to naturally write code that exhibits these desirable characteristics.

Amazingly Extensible – Aurelia is highly modular and designed to be customized easily, so developers will never hit a roadblock or have to “hack” the framework to succeed.

Web Standards Focused – Focused on next generation JavaScript and Web Components, and avoiding unnecessary abstractions that obscure the underlying web, Aurelia is the cleanest and most standards-compliant framework today.

Integrates Well with Others – Easily integrated with any 3rd party library or framework: for instance, with jQuery, React, Polymer, Bootstrap, MaterializeCSS and much more.

TypeScript Support – Each Aurelia library is released with its own d.ts files. There are also official TypeScript beginner kits and production quality starter kits.

An Official Product with Commercial Support – Being an official product of Durandal Inc., it has commercial and enterprise support available, so you can use Aurelia for building core technology for your business.

Thriving Community and Ecosystem – Having one of the largest developer gitter channels in the JavaScript world, oodles of contributors and a huge core team, Aurelia has been used to build just about every type of application and is used by large, well-known multi-national companies and enterprises.
 
Aurelia, Angular and React.js – what’s common and what’s different?
 

Aurelia vs. Angular

Similarities between Aurelia and Angular 2:

  • Aurelia offers ES6-support out of the box and supports all forms of alternative abstraction syntax such as TypeScript and CoffeeScript. Migration documentation about migrating from Angular 1 and 2 have been put on the roadmap.
  • The basis of both Angular 2 and Aurelia application comprise components associated with the corresponding template.
  • Differences in vision details and options range:

  • The syntax is much simpler and more explicit (i.e. self-explanatory) than Angular 2 and looks a lot like standard JS syntax. ES6 and JSPM are used by default and a gulp file with a custom-built system to transpile ES6 to ES5 using the Babel transpiler is included in the standard package.
  • Aurelia also uses conventions instead of its own syntax and boilerplate code. No special characters like the ones in Angular 2 (*, (), [] en #) here.
  • Aurelia is built in a modular way making it very pluggable. You can plug in internationalization, routing, virtualization, animation, … Besides that, third party plugins are available as well such as the aurelia-flux plugin adding the Flux dispatcher to Aurelia.
  • The presence of a root-component is necessary; it represents an application (app). The metadata may / should be attached to components by using decorators. Component initialization is performed by using dependency injection. In addition, each component has a declared lifecycle, which can be built by using the lifecycle hooks. The components may be formulated into a hierarchical structure.
  • Communication between the component and the template is performed by using data binding. The process of template rendering to the final HTML can be integrated by using pipes (Angular) or value converters + binding behaviours (Aurelia).
  • The main advantage of Aurelia in comparison to Angular is an advanced composition mechanism and template parts. Aurelia is designed with an emphasis on unobtrusive, the number of framework structures in the final code is minimal. Aurelia is more compact, while Angular sometimes simply forces to produce copy-paste.
  • Aurelia is new to the market while Angular has a big user base because it’s already been around for 6 years. On the other hand, Aurelia has great documentation available, it’s an official product of Durandal Inc, and the company has a long term vision for the product, something the Angular team doesn’t seem to have and is blamed for a lot.

Aurelia vs. React.js

  • While on the surface it might not seem fair to compare Aurelia to React.js, they’re both being used for the same things. Despite the fact that React.js is a fully-fledged and functionally released product without the early preview alpha tag and Aurelia is not, at current stage they are both pretty at the same level. You can achieve the same tasks within both, just in different ways.
  • As for React components and Aurelia’s ViewModel’s, they are both quite similar in that you’re essentially using a class to define properties and methods bound to a particular view. The primary difference between them is React doesn’t separate the logic from the view, meaning in React the View and ViewModel are both within the same file.
  • However, that’s not to say that Aurelia doesn’t allow you to achieve the same thing by rendering the View from within the ViewModel as well and forgoing a traditional View.
  • The original intent behind React.js was not to be a competitor to the likes of Angular or Aurelia, but rather be the library that everyone uses with their SPA framework like Angular to improve performance.
  • Therefore, this means you can easily use React.js within Aurelia. Aurelia and React.js can be used together and in doing so, it provides you with a level of power other frameworks cannot without subsequent complexity and strict convention like EmberJS.

Aurelia vs. Angular and React

  • Two-way binding is provided out of the box and the framework does so very precisely. By default, 1-way databinding is used except for form controls, a clear plus when compared to React. Do keep in mind that two-way data binding can only be done through explicit syntax, as is the case in Angular 2.
  • The learning curve for Aurelia is comparable to that of Angular 2 and thus a lot steeper than React’s. Luckily, the extensive documentation makes up for that a great deal.
  • Angular 2 and Aurelia Architecture is very similar. Aurelia looks a lot like Angular 2 in the sense that it’s a complete framework that relies on the web standards. It’s as pluggable as React is and as Angular 2 will be.
  • While Angular was created by Google and React by Facebook, they don’t provide commercial or enterprise support, something that Aurelia will do.

 
Conclusion

It goes without saying why these three frameworks are so popular. They all have a lot of strong advantages. Eventually, I’m favoring Aurelia: there’s solid documentation available and the overall philosophy is the same with Angular 2, but Aurelia is a better choice from the syntax and execution point of view. The architecture and syntax vision of Aurelia team seems to be more clear than the vision of the Angular team. The company and enterprise support of Aurelia is also a big pro.
What is your personal experience with these frameworks? Which one would you choose for your projects and why? What’s your prediction “who” will win the crown in the nearest future? Please feel free to share your thoughts with us.

Thank you in advance!

 

Darya Bertosh

Darya Bertosh

Business Development Manager

E-mail: darya.bertosh@altabel.com
Skype: darya.bertosh
LI Profile: Darya Bertosh

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

Do you remember the first Pong arcades with unsophisticated graphics launched nearly 30 years ago? Since then video games have become an instant hit among youngsters. However the technology is improving at a rapid space and computer graphics are pushing the limits of photorealism. Today scientists and engineers are integrating the graphics from your television and computer screens into real-world environments. This advanced technology is called Augmented Reality or AR for short, which is about overlaying pieces of a virtual world over the real world (in contrast to Virtual Reality (VR) that is about replacing the real world with a virtual one). AR is a beautiful blend of digital and real images enhancing what we see, feel and smell or hear, e.g. you can point your camera at a movie poster and watch its trailer, or you look at the sky and ask for the weather and it gives you that information. So, basically AR comes down to the following three vital questions: where to display, what and how. Let’s find out.

Let me start with the last question: “How?” Below I’m going to itemize five of the numerous AR tools that exist at the moment and that can be used to develop apps for smart-phones, tablets or even smart-glasses.

  1. DroidAR is a free and commercial framework that gives location-based AR functionality to Android apps. For instance, gesture detection or support for static and animated 3-D objects that the user can interact with like clicking on them. Another vivid appliance is marker detection. It’s a part of the functionality offered by DroidAR, however the documentation that exists for the project is under fulfilled. Nevertheless there is a section on the project README file on GitHub that gives an overview of a closed-source version of DroidAR, DroidAR 2. Compared to its open-source fetch it has impressive improvements.
  2. Vuforia is available for Android, iOS and Unity. It has become the industry leading AR platform – with 10s of thousands of apps, and 100s of millions of app installs. The main Vuforia SDK features are multi-target detection and tracking (e.g. images, English text, objects), virtual buttons. There is also a version of the SDK for smart glasses (namely Epson Moverio BT-200, Samsung GearVR, and ODG R-6 and R-7). That is currently open for early access applications from experienced developers.
  3. Wikitude AR SDK is available for Android, iOS, Smartphone, Tablet, Smart Glasses, Cordova, Titanium, Xamarin. Wikitude’s all-in-one AR solution includes image recognition and tracking, 3D model rendering, video overlay, location based AR and so much more.
  4. With the help of AR Browser SDK you can add and remove POIs without refreshing the view, interact with them by touching them or pointing the camera to them and perform activity on them, for instance send SMS or share on Facebook. AR browser SDK is available for Android as well as for iOS. The mail features include 2D POIs, custom callback on clicked POI or on centered POI, video support, great performance and memory management, customized elements: pop up label, radar and radar dots, very simple interface API for developers, start and stop functions to prevent memory or battery starvation and finally check sample code.
  5. Metaio SDK is a perfect tool for developing AR apps on Windows PC, Mac OS and in Unity. You can deploy apps for iOS and Android. Metaio’s functionalities are 2-D image, location tracking, 3-D object, barcode and QR code scanning, continuous visual online and offline search and gesture detection. Moreover, Metaio has also created its own AR. It allows software engineers to develop AR apps using typical web technologies (HTML5, XML, Javascript) and deploy them passim.

Hope I gave a full answer to the question “How?” and now let’s move to the questions “Where? and What?”. The yesteryear AR usage was limited mostly to military applications, which were designed to give helicopter pilots and ship captains more definite methods of acquiring targets and tracking enemy movement. Nowadays, tech companies have an entirely new vision for the opportunities that augmented reality provides, hoping that with advances in computing power and miniaturization, soon the number of people wearing an AR-capable device will compete the same stats we see with smartphone ownership in 2015.

According to the prognosis by 2017 more than 3.5 billion AR applications will be downloaded, 600 billion dollars will be spent in AR technology revenues by 2016 and Compound Annual Growth Rate of global AR market will make up 132%. But if you still can’t figure out where you will be able to use this bleeding-edge technology, I will point out some real ways where people all over the world from different spheres such as medicine, public service and finances will benefit from AR adoption.

  • Digital Marketing. AR use in digital marketing is notably appealing. It’s recognized as an enhanced marketing application, as not only can additional content be put within 2D advertisement, but also can result as interactive, awesome and high viral potential eye-catching tool. Key digital aspects: advergaming, Augmented packaging, interactive consumer products, street marketing and geolocalized apps. As a rule consumers react very positively to amusing and ingenious marketing. Thus the brands become memorable.
  • Customer service. Nobody likes to call to a customer support and listen to the endless scripts recited by a rep. However in the future if you have any problems with setting up TV or the cables cut off, the customer support can come to you. Imagine having a service technician come to your house to fix your washing machine. He’ll point his head-up display at the washer. A camera will capture the model number and then upload it to the corporate cloud. That will prompt a download of schematics and instructions, along with an overlaid virtual-reality view of the machine’s components on his display. So instead of hearing generic instructions, like “Press the red button” and “recheck the port,” someone could walk you through the process and see the things you’re seeing, enabling the customer service rep to point things out in more detailed, visual way and helping problems get solved in a more efficient way.
  • E-commerce and M-commerce. AR can offer a virtual fitting room where clothes can be tried on live. It gives you a chance to browse a virtual catalog of clothes, shop directly within your favorite magazine, or go to a virtual store and avoid the queues. Rosenthal of Goldrun, the creator of an AR pop-up shop for Airwalk in a New York City park says:” Augmented reality is going to radically change the shape of commerce.”  AR can turn such public places as parks and airports into shopping centers. It’s a perfect way to kill time and a clever way for business owners to economize money on commercial real estate.) However even real shops could benefit from integrating AR into their design. They could display their items that will be on shelves soon, or items that aren’t sold at that location – and soon you’ll even be able to feel these items with the help of your phone. It’s obvious for everyone that augmented reality could juice up window displays and cut costs.
  • Urban Exploration. Are you in a new neighborhood or in an unknown city? You can throw away your guidebook and turn on AR-application with real time display of enhanced maps. Acting as a GPS, Augmented Reality provides classified and suggestive information that you are looking for whether it’s a restaurant, bar, grocery store or museum and library, etc. And another awesome way to explore your city – or any city -is to overlay 3D maps that show what the city looked like at any point in history. If you’re walking down Broadway, you would be able to “see” horse-drawn carriages parked on the street in front of old parlors. It’d be as if you were walking in a history book.
  • Educational resources. Seeing the potential for AG in educational sphere isn’t hard. Education will be emphasized by Augmented Reality systems and can be used to re-create historical events, activate regular books into 3D images, or even present structures of the galaxy; all superimposed in real-time. So when viewed through the lens of smartphones one can see the picture of an engine animated in an engineering textbook or a working 3D model of a beating heart that you can walk around of rotate by hand.
  • Rescue and Safety operations. Unfortunately, it’s impossible to avoid emergencies in our life. Rescuers, firefighters and policemen very often find themselves in a chaotic situation where they need to make sense of the environment and navigate a place they’ve never been. Wouldn’t it be great if they could see a virtual map of the site or have “X-ray vision” to see sewage or power lines?

While some years ago there was a vast debate about its foreseen impact on society, today AR applications are becoming mainstream. There are apps that allow a museum exhibit to tell its own story, that help you decide which furniture looks better in your bedroom, that bring a tiger you just drew on a piece of paper into life, or that warn you about all the signs you ignored while you were driving. These are examples of already available apps that provide some sort of AR functionality. The one thing is for sure is that smartphone population is rising, thus the level of processing power as well. As long as the resulting augmented content remains engaging and innovative, consumers will certainly adopt augmented reality as a new and fun twist to conventional marketing and services.

Besides I would like to notice that the new era of true digital immersion is waiting just over the next horizon and now is a perfect time to implement AR technologies into your business. It is now up to you – developers, designers, entrepreneurs, scientists, educators, investors, artists, marketers, hackers, journalists, and more – to bring the augmented reality experience to consumers in a fun, productive – and lucrative way. If you have already tried it, you are welcome to share your experience in comments. If not, it will be interesting to know what predictions you have re AR. What is your opinion? Please, feel free to share your thought below.

Thank you for your attention🙂

P.S. By the way, did u know that in 1901 author L.Frank Baum first mentioned electronic display spectacles overlaying data onto real life, in 1975 television weather reports were the 1st application of AR on TV, in 1989 the term “virtual reality” was coined by Jaron Laanier, today AR is already used by Boeing, BMW and Volkswagen on assembly lines and in the nearest future AR contact lenses will be implemented to the United States Military.

 

Anastasiya Zakharchuk

Anastasiya Zakharchuk

Business Development Manager

E-mail: anastasiya.presnetsova@altabel.com
Skype: azakharchuk1
LI Profile: Anastasiya Zakharchuk

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

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.

 

Svetlana Pozdnyakova

Svetlana Pozdnyakova

Business Development Manager

E-mail: svetlana.pozdnyakova@altabel.com
Skype: Svetlana.pozdnyakova
LI Profile: Svetlana Pozdnyakova

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

js

JavaScript is celebrating 20th anniversary in 2015. It’s a language with a changeable history and carries a lot of baggage from its childhood, but as it leaves its teenage years behind it, now it’s a language that has finally grown up. JavaScript made a revolution in web by allowing scripts to run in a browser. But after its initial popularity soon the reputation was spoiled and JS was often associated with poorly written, cut-and-pasted code that was used to create annoying pop-ups and cheesy ‘effects’. Thus we see that JavaScript had some annoying weaknesses as a programming language.

On the other hand, we can observe that JavaScript has “ubiquity” that other programming languages don’t have. One must admit that you just need a browser to run, which means that anyone with a smartphone or computer is capable of running a JavaScript application. JavaScript has made the dream true that Java was available on all platforms by using the browser as its virtual machine. And now thanks to Node.js, it can run without a browser.

It is well known fact that simple text editor – is all you need to write a program in JS. JavaScript has a low barrier to entry when it comes to development. And we also must agree with GitHub that JavaScript is one of the most popular languages. This means that help is often easy to come by and there is a lot of JavaScript code out there. Furthermore, one should not forget that it also means that code’ libraries are well tested and many issues have already been solved.

After a first decade, which was a period of awkward childhood, JavaScript was growing up like most of the teenagers. People changed their mind with the revolutionary advent of Ajax. jQuery then made people using JavaScript to build some new applications and Node has taken it all to a whole serious level. JavaScript established itself as a powerful and flexible language with some cool features such as:
– Prototype-based Inheritance
– Closures
– JSON (subset of the object literal notation of JavaScript)
– Asynchronous event-driven programming
– Functions as objects

Frameworks and Libraries

Lots of frameworks and libraries have been written to mitigate problems and improve JavaScript for programming. JavaScript framework is the set of pre-written JavaScript code that helps to ease development of the JS based applications. This framework is also known as JavaScript libraries, which enhance the use of this programming language in many ways.
We have already shared some posts about the JavaScript frameworks in the past. JavaScript framework can be found anywhere on the web with different type of working capabilities. We have selected few of them to keep an eye on, and we hope you will find our compilation useful.

1) Angular.js

Open-source web application framework. It aims to simplify both the development and the testing of such applications by providing a framework for client-sidemodel–view–controller (MVC) and model–view–viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications.

2) Ember.js

Open-source JavaScript application framework, based on the model-view-controller (MVC) pattern. It allows developers to create scalable single-page web applications by incorporating common idioms and best practices into the framework.

3) Meteor (MeteorJS)

Open-source JavaScript web application framework written using Node.js. Meteor allows for rapid prototyping and produces cross-platform (web, Android, iOS) code. It integrates with MongoDB and uses the Distributed Data Protocol and a publish–subscribe pattern to automatically propagate data changes to clients without requiring the developer to write any synchronization code. On the client, Meteor depends on jQuery and can be used with any JavaScript UI widget library.

4) Backbone.js

JavaScript library with a RESTful JSON interface and is based on the model–view–presenter (MVP) application design paradigm. Backbone is known for being lightweight, as its only dependency is on one JavaScript library, Underscore.js. It is designed for developing single-page web applications, and for keeping various parts of web applications (e.g. multiple clients and the server) synchronized. Backbone was created by Jeremy Ashkenas, who is also known for CoffeeScript.

5) Knockout.js

JavaScript implementation of the Model-View-ViewModel pattern with templates. Main principles are: a clear separation between domain data, view components and data to be displayed; the presence of a clearly defined layer of specialized code to manage the relationships between the view components. These features streamline and simplify the specification of complex relationships between view components, which in turn make the display more responsive and the user experience richer.

6) Ext JS (Sencha Ext JS)

JavaScript application for building interactive cross platform web applications using techniques such as Ajax, DHTML and DOM scripting. Ext JS includes interoperability with jQuery andPrototype.

7) D3.js (D3)

JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of the widely implemented SVG, HTML5, and CSS standards. It is the successor to the earlier Protovis framework. In contrast to many other libraries, D3.js allows great control over the final visual result.

Conclusion

JavaScript will be one of the most important languages to learn and invest into over the next few years. Website development is into a single-page web application that relies on JavaScript to do the heavy lifting on the client side (in this case, usually JS goes with modern front-end frameworks such as Backbone or Angular.js). The advantage of using Isomorphic JavaScript is increasing the popularity of JS. The data that is transported from databases is often stored in JSON format. The possibility of using a combination of HTML, CSS and JavaScript let you build an application for iOS, Android and FireFox OS. JavaScript has existing libraries, plugins, APIs and other cool stuff to be broad used in The Internet of Things (IoT). JavaScript is becoming the language not just for the front and back end of web development, but also for interacting with a huge number of modern devices.

To sum up, I must admit that now is the perfect time to get started with JavaScript projects, as it moves into its 20s, and has finally grown up for starting to go places!
What are your opinions about JavaScript future, its libraries and frameworks? I’d love to hear your thoughts in the comments.

 

11d78a3

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

 


%d bloggers like this: