Altabel Group's Blog

Posts Tagged ‘development

The infrastructure-as-a-service (IaaS) market has exploded in recent years. Google stepped into the fold of IaaS providers, somewhat under the radar. The Google Cloud Platform is a group of cloud computing tools for developers to build and host web applications.

It started with services such as the Google App Engine and quickly evolved to include many other tools and services. While the Google Cloud Platform was initially met with criticism of its lack of support for some key programming languages, it has added new features and support that make it a contender in the space.

Here’s what you need to know about the Google Cloud Platform.

1. Pricing

Google recently shifted its pricing model to include sustained-use discounts and per-minute billing. Billings starts with a 10-minute minimum and bills per minute for the following time. Sustained-use discounts begin after a particular instance is used for more than 25% of a month. Users receive a discount for each incremental minute used after they reach the 25% mark.

2. Cloud Debugger

The Cloud Debugger gives developers the option to assess and debug code in production. Developers can set a watchpoint on a line of code, and any time a server request hits that line of code, they will get all of the variables and parameters of that code. According to Google blog post, there is no overhead to run it and “when a watchpoint is hit very little noticeable performance impact is seen by your users.”

3. Cloud Trace

Cloud Trace lets you quickly figure out what is causing a performance bottleneck and fix it. The base value add is that it shows you how much time your product is spending processing certain requests. Users can also get a report that compares performances across releases.

4. Cloud Save

The Cloud Save API was announced at the 2014 Google I/O developers conference by Greg DeMichillie, the director of product management on the Google Cloud Platform. Cloud Save is a feature that lets you “save and retrieve per user information.” It also allows cloud-stored data to be synchronized across devices.

5. Hosting

The Cloud Platform offers two hosting options: the App Engine, which is their Platform-as-a-Service and Compute Engine as an Infrastructure-as-a-Service. In the standard App Engine hosting environment, Google manages all of the components outside of your application code.

The Cloud Platform also offers managed VM environments that blend the auto-management of App Engine, with the flexibility of Compute Engine VMs.The managed VM environment also gives users the ability to add third-party frameworks and libraries to their applications.

6. Andromeda

Google Cloud Platform networking tools and services are all based on Andromeda, Google’s network virtualization stack. Having access to the full stack allows Google to create end-to-end solutions without compromising functionality based on available insertion points or existing software.

According to a Google blog post, “Andromeda is a Software Defined Networking (SDN)-based substrate for our network virtualization efforts. It is the orchestration point for provisioning, configuring, and managing virtual networks and in-network packet processing.”

7. Containers

Containers are especially useful in a PaaS situation because they assist in speeding deployment and scaling apps. For those looking for container management in regards to virtualization on the Cloud Platform, Google offers its open source container scheduler known as Kubernetes. Think of it as a Container-as-a-Service solution, providing management for Docker containers.

8. Big Data

The Google Cloud Platform offers a full big data solution, but there are two unique tools for big data processing and analysis on Google Cloud Platform. First, BigQuery allows users to run SQL-like queries on terabytes of data. Plus, you can load your data in bulk directly from your Google Cloud Storage.

The second tool is Google Cloud Dataflow. Also announced at I/O, Google Cloud Dataflow allows you to create, monitor, and glean insights from a data processing pipeline. It evolved from Google’s MapReduce.

9. Maintenance

Google does routine testing and regularly send patches, but it also sets all virtual machines to live migrate away from maintenance as it is being performed.

“Compute Engine automatically migrates your running instance. The migration process will impact guest performance to some degree but your instance remains online throughout the migration process. The exact guest performance impact and duration depend on many factors, but it is expected most applications and workloads will not notice,” the Google developer website said.

VMs can also be set to shut down cleanly and reopen away from the maintenance event.

10. Load balancing

In June, Google announced the Cloud Platform HTTP Load Balancing to balance the traffic of multiple compute instances across different geographic regions.

“It uses network proximity and backend capacity information to optimize the path between your users and your instances, and improves latency by connecting users to the closest Cloud Platform location. If your instances in one region are under heavy load or become unreachable, HTTP load balancing intelligently directs new requests to your available instances in a nearby region,” a Google blog post said.

Taken from TechRepublic

 

Lina Deveikyte

Lina Deveikyte
Lina.Deveikyte@altabel.com 
Skype ID: lina_deveikyte
Marketing Manager (LI page)
Altabel Group – Professional Software Development

The digital age has changed customer behavior forever. They have no patience with 9 to 5 and they’re shredding the concept of after-hours and weekends. They have a voice, and that voice demands to be heard whenever, wherever.

Working hours, what’s that?

Banks—previously such strict observers of “working hours” all over the globe—have risen to the challenge by embracing technology. Net banking and ATMs have virtually done away with the need to visit those hallowed brick-and-mortar portals. Mobile payments are being made directly from person to person, minimizing the need for even small amounts of cash. While this is great news for all of us as individuals, the risk for the bank is that it becomes a marginal player in the life of the valued customer.

Let’s take a look at E-commerce. This is the case with several consumer-facing industries, such as cloth, books, groceries, appliances, furniture and such—all of which can be ordered online and delivered while you are away at work. No interface or face-to-face conversation with the company required.  Especially when you’re working from home, you meet the shipping company rep rather than someone from the company you ordered the goods from.  This is perfectly okay for the average buyer, except when something goes wrong!

Say you ordered blue curtains, but what you saw is not what you got. Colors on the digital screen often look different than when seen off-screen. Simply returning what’s arrived is not the solution. Speaking to someone and explaining what you had in mind so you get the right product is. This means that online dealers need to have someone customers can have a live discussion with. Beyond a live agent, online dealers more than ever are finding customers who expect to engage in live conversations any time of the day. Research by Social Bakers, an agency that measures how well brands perform in terms of social customer care, found that the number of questions asked on brand pages on Facebook has increased by 85 percent over the last year, and that airlines had the best response rate of answering 79 percent of these promptly. “Working hours” is not a phrase that works anymore.

Engage, not enrage
Companies selling anything at all cannot afford to be out of touch with their customers. So while digitization may keep the consumer from physically visiting you, it has also forged a path for newer ways in which to meet up through social media. Businesses are following their clients where they go, meeting them where they hang out, not in their offices but online.

Have you noticed that the online store you bought something from recently keeps popping up not only when you google something but also on all kinds of websites that you visit? That’s because The Web knows and tracks your online preferences. Personally, I find pop-ups asking to indulge in a live chat very intrusive—it’s like a store attendant following you everywhere and asking, “Can I help you?”  While it’s good to know there’s someone who can answer your queries, nobody likes to be stalked.

Smart businesses know how to keep track of the customer without being obviously there.

Keeping them engaged is in fact a bigger challenge than ever before since your customer can close that communication window with just a click.

Fly with the experts

Let us take an example of an airline that’s effectively engaging with customers. Lufthansa has its fingers on the pulse of the customer, and potential ones, through an enviable Facebook presence. Contests, events, quizzes all have earned the airline something every self-respecting Facebooker looks for—likes! Over 300,000 likes (on the India page alone), and if even a small percentage decides to fly with it because of the online excitement generated, that’s a big win.

Understandably, retailers and consumer-facing companies have a big Facebook presence. Coca-cola, Starbucks, McDonald’s, Walmart, Levi’s, Target, Nike, Kohl’s are among those that have the highest number of likes. Twitter accounts of many of these companies also have a very, very large number of followers. Clearly, they have managed to reach out effectively to their potential customers using social media.

What to outsource!?

These are still early days for outsourcing social media marketing and engagement, but it makes sense to outsource at least some of your efforts to begin with. Look holistically at your social media marketing plans and start by assessing what skills you have in-house and skills you are lacking. You may decide to start with getting the design and development built by an outsourcer to get your framework up front.

Other areas to consider include:

Savvy social media writers may be a skill your current writing team lacks, so content writing could be a place with clear payback. If you’re content doesn’t attract and maintain customers, you could be doing more harm than good to your brand.

Analytics can easily be done by a third-party and is probably the least vulnerable to subjectivity. That will save precious resources that you can deploy towards strategizing and hiring in-house of local experts to manage the customer community.

Customer experience management or customer care is another area to consider, especially if your customers are global and resident in different time zones. Be cautious to consider outsourcers who understand your business and your customer engagement model.  Since the outsourcer will be “you” during customer interactions, you need to feel confident they can successfully represent your brand.

Needless to say, do monitor what’s going on closely enough so you can step in when necessary. The important thing now is to be open for business all the time. Not just 24/7 but 24/7/365 and even up to 366 in a leap year!  Business process outsourcing companies are gearing up to meet the demand when it arises. That will finally help harried executives to get their well-earned weekend off to do their own personal networking, online or otherwise.

Testing could be outsourced. Minimizing risks and cost either manual testing or automotive one can easily be performed by third party.

Recently we could see the most prospective and fast growing social spheres that potentially need and could outsource a big part of them. There are:

-   Banking /finance

-   Mobile development sectorE-commerce

-   E-commerce

-   Medical/health care

-   Tourism

Has your organization outsourced marketing and customer engagement yet?

Polina Mikhan

Polina Mikhan
Polina.Mikhan@altabel.com 
Skype ID: poly1020
Business Development Manager (LI page)
Altabel Group – Professional Software Development

With the growing popularity of smartphones, tablets and other mobile devices the living has become more comfortable. The different types of apps help us to wake up in time, to entertain reading books, booking tickets, listening to favorite music and just chat with friends without extra expenses. Among the challenges in mobile app market stands also the developing of effective web browsing solutions.

In this article I would like to take a look at DHTMLX Touch framework that helps to create nice-looking and easy-to-use mobile web apps oriented to touchscreen devices.

DHTMLX Touch is a free open source Javascript framework/library for building HTML5-based mobile web apps.
DHTMLX was originally designed to work in traditional mouse-driven web browsers, however since the web moved to mobile devices, it was important to have all parts of the web interface touch-ready and looking good on small screens. After some tests made were approved that DHTMLX library will definitely work in mobile environments with Javascript support too. So the planned mouse was replaced with touch events to provide touch-based user interactions.

Let’s see what the characteristics of DHTMLX Touch are:

-compatible with the main web browsers for mobile platforms that support HTML5;

-free under both GNU GPL and commercial Licenses;

-lots of technical samples with the source code that simplify studying how the UI elements work;

- expanded builder tools:
Skin Builder – an online tool that allows you to build mobile web apps through a user-friendly, drag-and-drop interface. Since v.1.2, you can save your design or share it by sending an URL.
Visual Designer - a simple online tool that provides an easy way to choose the skin for you app and customize the skin colors. A set of predefined skins is included.
Touch UI Inspector – a free extension for Google Chrome that provides a handy visual tool for monitoring the inner state of DHTMLX Touch JavaScript components on a web page.

-server side is based on the on dhtmlxConnectors (the same that used for DHTMLX Ajax library) that simplifies client –server communication;

- simplified scheme of CSS editing.

The current version of DHTMLX Touch framework took a long way from the release of its first components dhtmlxTree and dhtmlxGrid in 2005-2006 to become a complete tool that covers the most required aspects of modern application interface. Three months ago in September, 2012 was presented the updated version 1.2. And now we will see what are the new features and improvements were added:

* Bug fixing – more stable and faster performance, better compatibility with the latest iOS and Android platforms;
* Updated visual designer tool: new Unitlist component, new charts, and the ability to share and save your design;
* Auto-complete for IDEs: Microsoft Visual Studio, PHPStorm, WebStorm, NetBeans, Aptana Studio, Eclipse, and others
* Multiple fixes in form validation logic
* Better memory management: automatic destructors clean up the memory, which helps to prevent memory leaks if the app has a complicated inheritance structure
* Better support of full-screen mode

Many companies around the world make the preference towards DHTMLX saying that it’s very simple, flexible and easy-to-use with a live support forum.

If you have already an experience working with DHTMLX Touch framework or heard something about using it, feel free to share your thoughts/experience by leaving a comment.

You can also have a look at new features of DHTMLX Touch framework and the samples of apps already implemented following the link to the official website http://dhtmlx.com.

Thank you for your attention.

Katerina Bulavskaya

Katerina Bulavskaya
Katerina.Bulavskaya@altabel.com
Skype ID: katy.bulavskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

OutSystems recently released Agile Platform 7.0. The really big news in the announcement was a total overhaul of the multi-tenancy system. Another item that flew under the radar is the new Lifetime feature, which is a method of deploying applications and managing the lifecycle (without any relationship to the TV channel).

In Lifetime, you define a number of environments and which direction things get deployed out. The pre-defined environments are Development, Testing, and Production. Lifetime allows you to “tag” a particular set of revisions with a version number, and then push them to the next environment in the chain. It detects if changes have been made in an environment’s version by marking the version number with a plus (for example, 1.8+), which gives you a cue that you may need to backport changes or deploy from downstream servers with caution. This is great for the age-old issue of people patching directly on upstream servers.

Hand-in-hand with the Lifetime feature is improvements to the way you define Applications and the system for maintaining them. There are a lot of minor changes to Applications that add up to an overall improvement. For example, there is a little reason to use an Application over a Solution, but with Lifetime, the Applications get all of the versioning and single-click deployment of a package and dependencies that Solutions have, with additional awareness of things like which eSpace in the application manages users and roles.

Ideally, you make your changes in Development, and when you are ready to test, you tag them with a new version and push to Testing. Once your testing is complete, you deploy to Production. But, what if you have to hot patch in Production? Well, there are no worries. If you take the patched version from Production and deploy it to Testing or Development, it will show the versions as being in sync again. The worst-case scenario is that you have patched Production and have changes in Development to push out. Going to the Development version and doing a merge from Service Studio with the Production version to backport the patch and then deploying the merged version back to Development will mark everything as up-to-date and happy.

Kind Regards,
Lina Deveikyte
Altabel Group – Professional Software Development

I’ve found that people have a general idea of what SharePoint is, but many have no idea how to apply it to their own business. I’d like to share with you the top ways that SharePoint can solve common business needs. And I want to emphasize that these are only a few of the many ways to utilize the SharePoint Services. Once you start using it, you will begin to realize the many other valuable benefits that can easily be accomplished by the everyday user. Hope you’ll find a few productivity solutions here.

With SharePoint you can:
1. Store all your emails on a secure and centralized Website for easy archive.
2. Keep a central task location for assigning tasks to team members. These tasks will also link to your projects so you can easily find out what tasks are still open for each project.
3. Organize large events and store the related documents, assigned tasks, and generally post anything and everything related to the events. It will also integrate with Outlook for added efficiency.
4. Collaborate with team members on all documents and stay on top of who did what. Earlier versions can easily be restored in case someone has made too many mistakes. Projects can also be linked to related documents.
5. Assign tasks to your team members, and automatically notify them that they have a new task. Alerts are sent when there have been updates to the tasks.
6. Quickly manage all projects for your team or organization so there’s no need to explore buying an expensive project management solution.
7. Use the efficient check-in / check-out management feature to sort your documents.
8. Implement a help ticket resolution for your organization or team without breaking the bank.
9. Start a private company blog to communicate and share ideas with your team that’s viewable only by those you give access to.
10. Gain more control over your company’s documents with the content approval function.
11. Offer training materials to your teams, clients, and/or partners in a password-protected Website that can be accessed anywhere in the world.
12. Offer a secure and private place to share documents and other information with clients and/or partners.
13. Access and work with your data using your Internet-enabled mobile phone for added convenience while traveling or out of the office at client meetings.
14. Create better team communication and brainstorming sessions where everyone can participate when their schedules permit.
15. Centralize where company and team project announcements are posted. Everyone will receive a notification via email or mobile phone automatically, anywhere in the world.
16. Work offline on the files, project tasks, tasks, discussions, contacts, calendars, blogs, etc. and then sync the updated information later on.
17. Create “central” documents (and synchronize), so all team members, clients, and/or partners are able to work on the same document and make changes. Updates are accessible with a click of a button. Everyone can then sync back to the “central” document and have all edits merged into that single document.
18. Easily add custom fields to any area and capture the information that’s most important to your company, all without the help of a web designer or IT person.
19. Pull up and update Microsoft Access database from a local desktop and sync information to a central location that can be accessed from anywhere at any time.
20. Create a project dashboard where on one page you can view and filter on common project elements, such as: project details, project documents, project tasks, project issues, project calendar, project milestones, project lessons learned, project risks, project change orders, and more.
Keep in mind that a little training goes a long way in increasing productivity in the products you use in your business.

Altabel Group highly recommends taking the time to learn this efficient and effective tool and watch your productivity, along with your profits!

Happy SharePointing!

Best Regards,
Kristina Kozlova
Altabel Group – Professional Software Development

What are the most common mistakes that are being made by mobile application developers?

Well, many of them to be honest hardly care what they produce and focus on how financially rewarding the night after it’s being released is, but what they don’t know is that it’s not about how much of a hit it was the night it was released, it’s how much people tend to use it, and the more something is used, the more it is needed, these guys need to make their made apps into needs, not wants, since wants end, needs don’t. One of the main mistakes they make is giving up too early. If you look at the apps that made it big, they’ve often been growing for a year or more, or they’re only the most recent of several apps that have been made by the developer. ‘Overnight success’ can take a long time. The most common mistake is to neglect marketing. A developer cannot merely build and ship a product. He/she also must have a plan to market the apps. Most apps stores are filled, and to succeed you must get noticed. The biggest mistake developers make is focusing on downloads versus usage. Some of them chase trends too much and then app stores end up clogged with similar apps.

The key to designing and building good software is to have a comprehensive understanding of how and where it fits into today’s world. I know it’s a lot to ask developers to also be aware of the business and world requirements. But everybody involved in the chain needs to be able to put themselves into the shoes of the end customers (whatever the target market has been identified to be). Do this objectively and then decide what part of that end users life this app will actually impact (good and bad). Every mobile app needs a story. There is a villain and a hero. The hero must win in the end. Otherwise, who cares?

Kind Regards,
Lina Deveikyte
Altabel Group – Professional Software Development

Smartphone app development is exploding, leaving developers confronted with a plethora of choices. Here are some tips to help you make the most of your mobile apps.

First of all study your application. For this purpose you should ask yourself the following questions:

- Is it a free application?
– Is it a commercial one?
– How do I want it to be distributed?

For free applications, I recommend Android, as it has a very nice marketplace and it’s inexpensive to publish.

For commercial applications, iPhone is the best target. iTunes is a great distribution system, and an average user is more inclined to buy an iPhone app than an Android one.

For a closed business self-distributed application, Windows Mobile is a good choice. Actually for this type, any of the three platforms are good.

Once you get to know your applications target and distribution system, you should think about your knowledge/resources:

- What do I know to program?
– What does my programming team know?

And finally, once you know your target language, you must check if the selected platform meets your software/hardware requirements:

- What type of hardware peripherals do I need?
– Which processor do I need? And so on.

Android and Windows Mobile have quite a wide range of devices, while iPhone only three. If you want to ensure the correct development of your app without caring for the hardware, iPhone is the best choice; all models are nearly the same. But if the iPhone hardware doesn’t have what you need you can do nothing about it. In this case a platform like Windows Mobile can be better.

So much depends on your application. All the application types have distinct hardware/software requirements, so you should study them well before taking a decision.

If you have answered all those questions above and have a clear vision of an app you wish to have, then the platform which answers your wishes to the fullest extent, is the best for your app.
_____________________________________________________________________________________________

Altabel Group specialists are currently programming for those three platforms, so from our own experience we can state that each one has its advantages:

On Android the hardware is used easily, the nice Eclipse Java IDE, and the market.

On iPhone, iTunes is the best of all, easy distribution channel to make money (but expensive if you’re targeting for low profile apps).
And Windows Mobile is a more friendly platform for the programmer; it lets you do nearly everything with the hardware/OS.

And what’s your opinion on this topic?

BR,
Kristina Kozlova
Altabel Group


%d bloggers like this: