Altabel Group's Blog

Posts Tagged ‘Apps

Artificial Intelligence, or AI, is everywhere these days. From once being a futuristic concept in Hollywood movies, to now touching our daily lives. Artificial intelligence applications, projects and platforms are being developed in every part of the world today. More and more of them successfully escape lab life and strike mainstream trends, appearing in mass products, online tools and open-source APIs. The market for AI is ripe and research estimates put it at around $5 billion by 2020.

But did you know that artificial intelligence actually debuted in 1956? Some people believed robots and AI machines would be doing the work of humans by the mid-1970s. Of course, that didn’t happen. What happened instead was that funding dried up and a period called “The AI Winter” began. That ostensibly lasted into the 2000s, when IBM’s Watson showed a lot of interest in artificial intelligence again.

And now in 2017 you may find AI examples everywhere — in robotics, healthcare, business and everyday life, in the cloud and on your mobile device.
 

 
And one of the most promising areas for AI is in mobile. The growth of artificial intelligence is driving a whole new class of mobile app possibilities.
 
What makes mobile an ideal platform for AI?

AI has transformed how we interact with our smartphones. Thanks to the advances in the fields of Natural Language Processing, Deep Learning and Machine Learning, we have been able to make chat-bot interfaces, which are much more natural and convenient.

AI capabilities are being built into mobile apps of all kinds, making them contextually aware of user behavior and making each app session more valuable than the last, increasing overall retention rates. With the ability to quickly analyze massive amount of consumer behavior and data, mobile devices with artificial intelligence applications can recognize a person the way humans recognize other people — by individual characteristics.

It’s impossible to enumerate all of the applications we will see for mobile devices capable of performing sophisticated perceptual tasks involving vision, speech, or other sensory input. But they are likely to be found in every industry. Please find a few well-known examples below.

SIRI is one of the most famous AI applications. It’s personal assistant software for Apple devices, which works as an intelligent knowledge guide to recommend, answer questions and delegate requests to other connected web services.

GOOGLE NOW is another intelligent personal assistant that goes as a part of the Google app available for Android and iOS. The app allows Google to pull all the synced information from all Google services you use and your location history for making you recommendations and alerts in the form of different Google Now Cards: Activity summary, Boarding pass, Events, Flights, Location reminders, Parking location, TV and many other.

CORTANA is the Microsoft’s intelligent personal assistant initially designed for Windows Phone. Cortana software reacts to a user’s voice and accomplishes limited commands, answers questions using the information from the browser installed, works as a secretary by scheduling events, locating necessary files and opening the apps needed.

ALEXA is the voice service created by Amazon for Amazon Echo intelligent speaker. Alexa uses natural language processing algorithms to adapt to natural voice of the user. The more a user interacts with Alexa the more it evolves and gets smarter, delivering higher quality answers to a user’s questions.

KINECT is an AI-based motion controller and a motion sensing technology by Microsoft that is used in Xbox One and Xbox 360 game consoles. Kinect analyzes natural user interface and reacts to voice commands and gestures. Kinect technology for non-gaming purposes including healthcare, retail industry, military and robotics.

 
How Will Mobile AI Impact Businesses?

There are three ways AI can help your business: virtual assistance, insights generation and manual process automation.

Virtual assistance is something a small business can start using right away. You already use Siri on a daily basis. A virtual assistant can assist with customer service tasks like scheduling meetings or answering simple and repetitive customer questions.

AI can be helpful with generation of insights. We are collecting massive amounts of data on customers, but it is pointless if it is not in a usable form. AI can transform that data into practical insights and learn from it, allowing AI to adapt to market behavior changes.

Automation of manual process is taking place very much like the industrial revolution when machines replaced people. AI is using smart algorithms replacing routine and often time-consuming tasks such as compiling reports and researching topics.

Major players in the technology industry already proved the success of AI mobile apps. With new advancements in technology and shifting consumer demands, AI mobile app development is the next big thing for enterprises:

  • Bank of America, for instance, is currently developing Erica, a “virtual assistant” that can give financial advice based on a customer’s spending patterns through the bank’s app.
  • Facebook, for example, has integrated chat-bots into its Messenger app for seamless interactions for businesses.
  • Uber uses this technology to provide the best route to its driver by learning from previous trips along the same route taken by their drivers.
  • It’s also used by YouTube to recommend you similar music.
  • Retail giants such as eBay and Amazon use it for product recommendations.
  • Starbucks announced a new AI-powered mobile app called “My Starbucks Barista.” Users simply tell the app what they want, and it places the order for them.
  • Similarly, Taco Bell released the TacoBot, which doesn’t just take orders, but also recommends menu items and answers questions.

The benefits of AI technology across the enterprise are far from being fully realized, so it stands to reason that there’s huge interest in AI among businesses at the moment. By 2018 the world’s top 200 companies will be exploiting what they call “intelligent apps” — it’s only a matter of time.

And if you still think AI is out of your apps’ reach, consider that you might not be aware that you’re already using AI in your company.

Thanks for reading! If you have any questions or comments, you are welcome with them!

 

Victoria Sazonchik

Victoria Sazonchik

Business Development Manager

E-mail: victoria.sazonchik@altabel.com
Skype: victoria_sazonchik
LI Profile: Victoria Sazonchik

 

altabel

Altabel Group

Professional Software Development

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

cog

If you are a techie person, you, of course, know the tradition to write a little program to print the text “Hello, world!” to the screen when learning a new language. So today I would like to say “Hello, Rust!” to relatively new system programming language that runs blazingly fast, prevents segmentation faults, and guarantees thread safety.

Rust gives many of the same benefits as traditional systems languages while being highly reliable, more approachable, safer and often more productive.

Although Rust development is sponsored by Mozilla, it is an open community project that strives to be a warm, welcoming and inclusive network of people, who act together to build something awesome. Today, Rust has a worldwide audience with its users in Europe, Japan and Australia. And what is more, Rust jumped to the first place in Stack Overflow annual survey for being Most Loved Programming Language of 2016.

Now we’ll go a little bit deeper into Rust and find out why this programming language grows in popularity and stays focused on three main goals: safety, speed and concurrency.

History

Mozilla employee Graydon Hoare started developing Rust as a personal project in 2006. In 2009 Mozilla began sponsoring the project. In 2010 Rust was officially announced on Mozilla Summit 2010. After several years of active development the first stable version (Rust 1.0) was released on May 15, 2015. Thereafter the release of new version is available every six weeks.

Nowadays we see more companies dealing with Rust. Each one has its own reason to do this.

  • Mozilla. The company has developed Rust code to replace the C++ code that currently handles complex media formats.
  • Dropbox. While much of Dropbox’s back-end infrastructure is historically written in Go, some key components were rewrote in Rust.

Aside from above mentioned tech giants, the other companies that use Rust in production are Skylight, Terminal and MaidSafe.

Peculiarities

Let’s review how Rust can solve the problems and what type of solutions best flow from it.

  • The goal of Rust is to be a safe language that means ‘doesn’t do anything unsafe’.
  • Rust lets us control the costs and guarantees of a program. Rust is a compiled language. Its compiler adheres to strict safety rules, thanks to which additional costs for code execution are missed. As a result of that it’s needed minimum time for implementation or in some cases this time isn’t required at all. So Rust can be used in a real time mode or as an add-in project.
  • There are only two kinds of statements in Rust: ‘declaration statements’ and ‘expression statements’ and everything else is an expression. So Rust is primarily an expression-based language.
  • It is also important to have a well-defined interface, so that some of your functionality is private, and some is public. To facilitate these kinds of things, Rust has a module system.
  • Like most programming languages, Rust encourages the programmer to handle errors in a particular way. That’s why return values are responsible for error handling here.
  • If you know C, C++ or even Java, you will become familiar with the language without any problems.
  • The Rust project uses a concept called ‘release channels’ to manage releases. It’s important to understand this process to choose which version of Rust (Nightly, Beta or Stable) your project should use. New ‘Nightly’ releases are created once a day. Every six weeks, the latest ‘Nightly’ release is promoted to ‘Beta’. Six weeks later, the ‘Beta’ is promoted to ‘Stable’, and becomes the next release of 1.x. Generally speaking, unless you have a specific reason, you should use the stable release channel. These releases are intended for a general audience.
  • Rust is a good solution for: middle and large-size developers team; long-term usage in production; a code with regular support and/or refactor; a great number of existed unit-tests.

Rust was developed with aim to work on various programming platforms. And now it operates on Linux, Mac OS X, Windows, FreeBSD, Android, и iOS. Thanks to Rust wide functionality this language can be used for diverse tasks, such as:

  • front-end applications and interfaces;
  • device driver, games and signal handlers;
  • server-side applications;
  • real-time mode systems (e.g. operating system kernel);
  • embedded systems;
  • robotechnics;
  • web-frameworks;
  • large-scale, highly-productive, resource-intensive and complex software systems.

What’s the difference between Rust programming language and the other ones?

1) Rust is a safe alternative to C++ to make systems programmers more productive, mission-critical software less prone to memory exploits, and parallel algorithms more tractable.
2) The syntax of Rust is similar to C and C++. But despite the syntactic similarity, Rust is semantically very different from C and C++.
3) Rust object orientation isn’t as obvious and advanced as in Java, C#, and Python. Since Rust has no classes.
4) Rust’s more sophisticated than Go. In comparison with Go, Rust gives you larger control over memory and resources. This equates to writing code on a lower level.
5) Swift and Rust are both considered as substitution of C, C++ and ObjectiveC. Swift developers spend more time to make the code readable adding majority of syntactic sugar into the language. While Rust is more distant, it deals with minimum things.

Let’s observe how the competition of mentioned above languages can improve technical picture in the future. And we hope it will do a power of good.

Minuses

It’s impossible to imagine any programming language without drawbacks. If it was so, we’d live in an ideal world. So, let’s back to reality and quickly determine the gaps in Rust.

  • Rust cannot prevent all kinds of software problems. Buggy code can and will be written in Rust. These things aren’t great, but they don’t qualify as unsafe specifically.
  • As a systems language, Rust operates at a low level. If you’re coming from a high-level language, there are some aspects of systems programming that you may not be familiar with.
  • It’s a pretty new language. So using it in development still brings the risk that Rust won’t survive for long and in a few years you need to rewrite it.
  • Considering the previous point, Rust tutorials are quite poor. But Rust’s still a comprehensive language. You can’t become familiar with it quickly and start writing professional code in just several weeks. It’s often needed to peruse RFC, blogs and even GitHub comments to find out necessary information. And still there is no dead certainty in it.
  • Rust isn’t as fast from the beginning as it is often told to be. You can write a fast code, but this still needs good optimization of your algorithms and program structure.
  • Rust compiler is rather strict. People call it a disciplinary language. Everything that isn’t obvious for Rust compiler you should specify on your own. Interestingly enough, when start coding with Rust you can be not aware of your intentions at all. So this learning barrier (altogether with the other ones) leads to the fact that the first Rust impression turns out to be frustrating.

Updates

And yet Rust itself hasn’t been standing still. So I’m pleased to mark an important milestone: with Firefox 48, Mozilla’s shipped its first Rust component to all desktop platforms in August, 2. Ralph Giles and Matthew Gregan implemented the component. For the Rust community as well, this is a real achievement: Rust code shipping to hundreds of millions of Firefox users. Seeing Rust code ships in production at Mozilla feels like the culmination of a long journey. But this is only the first step for Mozilla. For instance, Android support’s coming soon. And more to come! The latest ‘Stable’ version of Rust, 1.11 was announced in August 18, 2016.

There’s a lot more to say about what’s happened and what’s coming up in the Rust world. I however tried to dwell on the most essential and valuable details.

Now that you have Rust introduced, Altabel Group will help you start your first Rust project. And I personally would encourage you to play with this programming language. It’s a great time to get started, and increasingly, to get involved with something safe, speed and concurrent.

So are you ready to give Rust a try? We’d love to hear your comments!

 

Victoria Sazonchik

Victoria Sazonchik

Business Development Manager

E-mail: victoria.sazonchik@altabel.com
Skype: victoria_sazonchik
LI Profile: Victoria Sazonchik

 

altabel

Altabel Group

Professional Software Development

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

JavaScript is the most accessible cross-platform language nowadays. It’s used both on front-end and back-end website development.

Using it Altabel developers create web-apps which includes offline mode, desktop apps, apps for smartphones and tablets, add-ins for Microsoft Office, SharePoint and Dynamics. And if you don’t get acquainted with JavaScript yet we strongly believe that you should do it immediately!

I reckon many of us know there are plenty of different languages compiled in JavaScript. It’s CoffeeScript, Dart, GorillaScript and others. To be fair some of these languages are fly-by-night creations that have never really taken off in the wild. But many of these languages are major engineering efforts with large ecosystems and large corporate backers. With so many frameworks and languages out there it can be difficult to figure out which one is the best.

In 2012 Microsoft analyzed the situation and created a new language with a possibility of dealing with problems and using existing JavaScript insights. Thus, a free open source programming language TypeScript was developed and maintained by Anders Hejlsberg (co-creator of Turbo Pascal, Delphi and C#). From the very beginning the new language started expanding rather quickly due to its flexibility and productivity. Considerable amount of projects written in JavaScript began to transfer to TypeScript. Popularity and relevancy of the new language leaded to the fact that lots of TypeScript ideas became the part of new JavaScripts standard afterwards. And moving forward the AngularJS 2.0 version (today one of the most popular web frameworks) was completely written on TypeScript with the help of Microsoft and Google.

But why TypeScript?

Let’s review main reasons of its popularity:

  • TypeScript is a typed superset of JavaScript. In other words any valid JavaScript code is also valid for TypeScript.
  • TypeScript may be used to develop JavaScript applications for client-side or server-side execution.

Microsoft’s TypeScript seems to generate the most attractive code and is considered to be one of the best JavaScript front-ends. TypeScript adds sweetness, but at a price.

  • TypeScript can also be used with existing JavaScript frameworks/libraries such as Angular, jQuery, and others and can even catch type issues and provide enhanced code help as you build your apps.
  • TypeScript can be just the right fit for projects in which developers try to remain relevant without the need to learn a whole new syntax.

The ubiquity of JavaScript as a runtime has inspired people from a variety of programming backgrounds to recreate JavaScript as they see fit. And yes, TypeScript lets you write JavaScript the way you really want to.

  • TypeScript differs from JavaScript with possibility of evident static objectives, with usage maintenance of full-blown classes (just as in traditional object-oriented languages), and also with maintenance of logging on modules. It’s aimed at development speed raising, simplifying of legibility, refactoring and reusability of your code.
  • TypeScript has many additional language features but defining types and creating classes, modules, and interfaces are some of the key features it offers.
  • In TypeScript the same types are supported as well you would expect it in JavaScript. Types enable TypeScript developers to use highly-productive development tools and practices: static checking, symbol-based navigation, statement completion and code refactoring.
  • TypeScript implements many conceptions that are appropriate to object-oriented languages such as extending, polymorphism, encapsulation, accessibility modifiers and so on.
  • Lots of TypeScript features have strict rules, so various code formatting errors are excluded. Which means that the possibility of incorrect implementation or inaccurate method invocations is eliminated.
  • TypeScript potentially allows writing large complex programs more quickly. Thereafter it’s easier to maintain, develop, adjust to scale and test them in comparison with standard JavaScript.

Drawbacks

TypeScript has a number of other positive features that are out of the scope of this article. On the other hand, there are two significant minuses exist.

  • Probably, the biggest minus is entry threshold and number of specialists on the market. Nowadays there are not so many specialists with solid experience in this language.
  • In comparison with JavaScript, it’s needed more time for the development. It stems from the fact that apart from class implementation one should describe all enabled interfaces and method signatures.

TypeScript 2.0

There are some significant changes coming in TypeScript 2.0 that continue to deliver on the promise of making JavaScript scale. This includes a whole rewrite of the way types are analysed in the flow of the code and an opt-in feature that starts to deal with logic errors around the flexibility of things being undefined or null in JavaScript. Other features planned for TypeScript 2.0 include read-only properties and async/await downlevel support.

TypeScript creator Anders Hejlsberg already has plans for TypeScript 2.1 and beyond. Features envisioned for these releases include a new JavaScript language service in Microsoft’s Visual Studio software development platform and more refactoring support.

The most recent version, TypeScript 1.8, rolled out in February, includes several more features like F-Bounded polymorphism, string literal types, etc.

Conclusion

So, if you haven’t taken a look at TypeScript, I have hopefully convinced you that it is something to at least worth a bit of your time. It has some of the best minds focused on making JavaScript scale and the team is going about it in a way that is open and transparent. By embracing the reality of JavaScript and building on top of it, in my opinion TypeScript is transforming the common language of the web, for the better.

We will be happy to hear how you use TypeScript in your current projects, if you like it, if you are planning to switch to this language, what are the pros and cons in your opinion, etc. Feel free to share with your thoughts in comments below!

 

Victoria Sazonchik

Victoria Sazonchik

Business Development Manager

E-mail: victoria.sazonchik@altabel.com
Skype: victoria_sazonchik
LI Profile: Victoria Sazonchik

 

altabel

Altabel Group

Professional Software Development

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

The mobile world is continuing its rapid growth while we are becoming more and more reliant on our mobile devices in everyday life.

By 2016, it’s expected that there will be more than 10 billion mobile Internet devices in use, so the mobile application industry will grow tremendously to match the demand and keep up with ever evolving technologies.

Let’s have a look at obvious technologies trends continuing to influence the mobile world nowadays.

Three main platforms and architectures

In a short period of time a majority of big companies will need a special set of development tools to support three key platforms – iOS, Android, Windows and three application architectures – native, hybrid and mobile Web. Tool selection won’t be that easy, rising up technical issues and nontechnical ones such as productivity versus vendor stability. Undoubtedly most big organizations will need several tools to deliver to the architectures and platforms they require.

HTML5

Being fragmented, immature and thus possessing many implementation and security risks, HTML5 won’t be a simple solution for mobile application portability. However as it matures, the mobile Web and hybrid applications will become more and more popular. So despite many challenges HTML5 faces, we could expect that it will be rather essential for organizations delivering applications across multiple platforms.

Advanced mobile user experience design

A vast majority of new techniques and methodologies such as motivational design, “quiet” design and “playful” interfaces contribute to exceptional user experiences most leading mobile apps have. Designers are also creating apps that can accommodate mobile challenges, such as partial user attention and interruption, or that can exploit technologies with novel features or “wow” factors, such as augmented reality. Leading consumer apps are setting high standards for user interface design, and all organizations must master new skills and work with new partners to meet growing user expectations.

High-precision location sensing

Knowing the location of a person to within a few meters is a key factor in the delivery of highly relevant contextual information and services. Applications that use the precise indoor location currently exploit such technologies Wi-Fi, imaging, ultrasonic beacons and geomagnetics. Such technologies as smart lighting will also become important. Precise indoor location sensing  in combination with mobile applications will create a new generation of highly personalized services and information.

Mobile phone as a universal remote

Some time ago we had to stay in front of TV in order to turn channels. Later remote controls were sold with every TV and stereo on the market. Nowadays, our homes have become smarter and many people manage their homes with the help of a smart phone. In 2015, mobile applications are expected to move to the next level, becoming a universal remote control for your life. Air conditioner controls and alarm systems are heading the list with cars and door locks to go behind soon. With all the different data including financial, electronic, home and automotive deeply embedded in your phone, the general remote seems to be a usual extension.

Apps will start thinking for you

Artificial intelligence is going to influence mobile applications in 2015, initially with smarter apps that think for you. The ability of apps to forecast behavior and lessen manual work is amazing. In the year 2015, apps will begin to foresee where you are going, what thoughts you are having and the types of information you might require. Imagine future applications less of a tool and more of an associate.

Wearable Devices

The smartphone will become the center of personal-computer network consisting of wearable devices such as on-body healthcare sensors, smart jewelry, smart watches, display devices such as Google Glass and different sensors embedded in clothing and shoes. These gadgets will communicate with mobile applications to deliver information in new ways and include a wide range of products and services in such areas as sports, fitness, fashion, hobbies and health.

What are your predictions on mobile technologies trends for the upcoming time? Eager to hear your thoughts 🙂

Yuliya Tolkach

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

We know that Apple’s iOS and Google’s Android. Both are real blockbusters, and we don’t need to find any reason why they can’t simultaneously thrive for years to come.

At the moment, with WebOS undergoing an open-source reboot and RIM’s next-generation BlackBerry OS apparently nowhere near completion, only one other phone platform has an immediate shot at being a contender: Microsoft’s Windows Phone 7.5. It isn’t there yet. According to Gartner’s latest worldwide market-share numbers show Windows Phone capturing a piddling 1.5 percent of the market, behind five other rivals.
We came up with some factors to prove it:

Great software. Last year’s Windows Phone 7 was tantalizing but decidedly unfinished. Windows Phone 7.5 is just plain pleasing–utterly original, easy to figure out, and both efficient and fun to use. In terms of overall pleasantness, it’s iOS’s most serious rival. (Google’s Android 4.0 Ice Cream Sandwich is easily the best version of Android to date, but it still comes off as a nerdier, clunkier echo of iOS.)
Apps. Lots of them. iOS still has the most programs and the best programs. Android is giving Apple increasingly fierce competition. Both platforms have app selections that number in the hundreds of thousands.
And Windows Phone? Well, it certainly isn’t floundering. After a little over a year, it’s got 40,000 third-party apps to its name, which sounds like at least modest momentum to WPh users.

Of course, Windows Phone doesn’t just need lots of software; it needs the right software. So far, its roster of high-profile apps is spotty. It’s got Netflix and Spotify, for instance, but not Hulu and Pandora.
Support from carriers. Most Americans buy their phones from AT&T, Sprint, T-Mobile, or Verizon Wireless. At the moment, AT&T has five Windows handsets, T-Mobile have two, and Sprint and Verizon have just one apiece. These companies don’t necessarily need to stock gazillions of models–hey, the iPhone is available only in one new version and two older ones–but they need to go out of their way to tell shoppers what Windows Phone is and why they might prefer it over an iPhone or an Android handset. Wireless merchants don’t have a fabulous track record, however, when it comes to handling products that require a bit of explanation.
Buzz. Windows Phone won’t surge unless people get excited over it. And one survey showed that Windows Phone 7 owners were happy, or at least happier than Android users. But with Windows Phone sales so meager to date, there simply aren’t enough consumers out there showing off their handsets to their buddies and raving about them.

We remain cautiously optimistic that Windows Phone will catch on. For one thing, Microsoft can afford to be patient with it–and the world’s leading software company really can’t afford to abandon the smartphone software market.
More important, Windows Phone 7.5 is a fine operating system that deserves to be successful. Sooner or later, good products usually do okay. If Windows Phone doesn’t, it might be a sign that the dynamics of the smartphone business aren’t going to let anything that isn’t iOS or Android do well anytime soon.

You could read more at http://news.cnet.com/8301-33200_3-57340072-290/windows-phone-7.5-what-will-make-it-a-winner/

Kind Regards,

Natalia Osipchik

Business Development Manager

 

altabel

Altabel Group

Professional Software Development

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


%d bloggers like this: