Altabel Group's Blog

Archive for November 2012

Nowadays, it goes without saying that mobile devices and apps are changing not only the way of users’ interaction with each other but also how enterprises interact with their processes, customers and employees. The important factor here is the platform that hosts the mobile apps. So enterprise faces the necessity to select the platform which will best suit goals that enterprise pursues, mobile strategy it is following and of course budget it has.

One of such solutions is Mobile Enterprise Application Platform (MEAP). As Wiki gives it: “MEAP is a comprehensive suite of products and services that enable development of mobile applications.” MEAP manages the diversity of devices, platforms, networks and users. It allows an enterprise to develop an application once and then deploy it to a variety of mobile devices. According to Gartner, using a common mobility platform, like a MEAP, brings considerable savings and strategic advantages in this situation.

But before choosing MEAP as a platform, organization should decide if it really needs it. So let’s see when MEAP is a right solution, what it gives to an enterprise and what are the benefits it has.

When is MEAP a right solution?
Gartner proposed The Rule of Three, according to which enterprises are encouraged to consider MEAP as a solution when they need:
• To support three or more mobile applications
• To support three or more mobile operating systems (OS)
• To integrate three or more back-end data sources

What does MEAP give?

• Complete integrated development environment.
• Support for design, develop, test, deploy and manage mobile apps.
• Run-time middleware server to handle back-end systems of the enterprises.
• Robust security capabilities.
• Local and remote data handling capability.
• Ability to integrate external devices like credit card readers, scanners, printers etc.

What are the benefits of MEAP?

• Faster app development and deployment –MEAPs enable companies to spend less time on adapting applications for specific devices.
• Multiple feature integration- MEAPs allow easier integration of mobile apps with the unique features and capabilities of mobile devices and peripherals like credit card readers, printers and barcode scanners.
• Management-MEAP interfaces with client middleware server and back-end infrastructure to provide high visibility and control via web-based console over the environment. This makes it easy for the businesses to centrally manage devices and apps, and install and update mobile software over the air.
• Security- MEAP enforces guards against unauthorized access and helps in data security, in the event of loss or theft of device. It also enables constant monitoring in the mobile environment by generating detailed reports on user usage, devices and apps. The reports can not only be used for surveillance but also to manage various issues in the environment.
• Off-line Connection- Mobile apps, as smart clients in a MEAP environment, can work independently of a central server connection, allowing users to continue to work off-line.
• Robust back-end connectivity- MEAP provides strong connectivity between back-end infrastructure and mobile devices through mobile middleware thereby ensuring smooth flow of data to specified device.
• Support for scalability and new technologies – MEAP provides a highly scalable infrastructure to support dynamic increase in devices, apps and users. Being an open, flexible architecture, the platform also enables easy integration with emerging technologies.

So definitely, MEAP is bringing considerable benefits to enterprise. It can be a good solution that can help an enterprise to adopt mobility in a secure and efficient way. If an enterprise wishes to develop custom applications or deploy multiple applications on many device platforms, a MEAP solution rally makes sense. And have you ever dealt with MEAP? What do you think of its advantages? I’m eager to know your opinion! Thanks for your attention :)

Kind regards,
Yuliya Tolkach – Business Development Manager (LI page)
Yulia.Tolkach@altabel.com
Altabel Group – Professional Software Development

Do Dedicated dev teams suit Start-Ups?

Outsourcing of the part of work was thought to be the preserve of large multinationals. But not any longer. In fact even fledgling Start-Ups can benefit from outsourcing aspects of their business to a third party and it may be even more appealing due to the specifics of the stage and size that the start-up is currently in.

How to decide?

Few businesses are not reluctant to let any work leave the office in the beginning, being like control freaks. But what is soon realized is that behaving that way is actually taking time and competitive advantage away from business. The reasons for outsourcing for IT companies are multiple: to avoid random hire when inquiries are urgent, to show up a high quality level when the skills required are too specific or non-core, to provide a fuller range of services to loyal and long-term customers, to be lean and cut off some expenditures that crowd the company’s balance sheet, to stay internally focused on core functions like business and strategy development and communication with customers.

Where to draw the line?

Definitely, the key areas of control should be retained in-house to protect brand image or intellectual property and to keep up-to-strategy and quickly adoptive communication with customers, but as for software development outsourcing, with careful planning and management and good communication not only non-core aspects but virtually any development aspect can be sourced out.

Where to look for talents?

At the end of the day, that’s people who really matter. Nowadays using LinkedIn or other portals specific to your industry can indeed help you find proper people. Have you recently paid attention how many companies are now emphasize their company profiles in social networks, not web-sites? Probably the best talents are hanging around somewhere here too. Also tap into your network for word of mouth, or when contacting a potential outsourcing vendor ask for references, from your geo-region as well.

What to pay attention to while selecting team members?

To assess technical expertise ask for previous work examples, usually described in CV, run an interview with candidates and test-drive them with some quick test tasks. Also it makes sense to have a short trial period, of a reasonable time and paid one still with a possibility of quick cutting off of team member(s) if you’re not happy with them. As for communication skills, it encompasses broader than just level of English; enthusiasm and desire to express and explain the point are of important matter as well.

How to start working with a Dedicated Dev Team?

Start out small and build up gradually according to a pre-agreed schedule. This is mutually beneficial: you will have some time to feel the team’s work speed and abilities and pivot with team size and composition accordingly; at the same time you will also see how your internal project manager manages to distribute tasks to a remote team, if in the full volume necessary and on time. Also organizing a video conf-call with the team members is an efficient team-building step, and it is good to have such one in the beginning as a kick-off meeting as well throughout the cooperation.

Is strong management by the customer a must-have?

In order to keep your project lean and effective, be in regular communication and manage progress closely so you set specific goals and expectations along with realistic deadlines and get regular updates from the team. Decide on a point person to manage the work if you don’t cope with this yourself. Also you should absolutely provide feedback, whatsoever positive or negative, to your team, including but not limited to their work results and updates to the project/product strategy.

If an inquiry doesn’t look like to fit a standard dedicated development team (DDT) concept?

Not so long ago DDT model was considered a long-term, continuous, stiff cooperation approach. Still we are no longer in the era of neither large system projects prevalence nor large companies domination. Today’s reality dictates new standards for cooperation approaches. And outsourcing is adapting to newly arising demand specifics as well.

For instance, your request for DDT set up may be for a mixed team in terms of techs; or for combination of a dedicated core team and floating resources on a project need basis; or for permanent key team and highly specialized expert on a timely basis to resolve highly specific issues; or one-project-purpose DDT when dealing under fixed-price approach for the project is inconvenient. Also DDT can be formed quickly, even within 1-2 weeks, and can be or start as small as 1-3 team members. All these cooperation possibilities may be highly interesting for Start-ups.

And what’s your point about the potential of dedicated teams outsourcing for Start-up companies?

Kind regards,
Helen Boyarchuk – Business Development Manager (LI page)
Helen.Boyarchuk@altabel.com | Skype ID: helen_boyarchuk
Altabel Group – Professional Software Development

Nowadays there are dozens of Java web frameworks. Many of them serve the same purpose and so I have tried to elaborate just on the most popular and typical in functions ones in my post The Best Java Web Framework.

Although I didn’t seek to cover all the frameworks and mentioned that in the post, there were advisory comments to consider Grails framework in my analysis. Having been given that much respect from the developers, this framework is definitely worth to be given a separate attention.

So please find below an overview of the Grails framework, its advantages and why this framework might be the best for some developers.

Grails is an open source Java framework for creating web applications. Grails is actually built off Groovy which gives the immediate benefit of being more productive. The Groovy syntax is much terser than Java, it’s much easier to do things in one line of Groovy code that would take you several in Java. At the same time Groovy has the capability to work with Java seamlessly, but that’s the different story.

The Grails framework attempts to bring some of the lessons from Ruby on Rails into the Java world such as DRY (Don’t Repeat Yourself) and Convention over Configuration:

- Don’t Repeat Yourself (DRY). Grails enables you to write DRY code and in itself is a good example of how to be DRY. If you have any existing Java code reusing it in Grails should be no problem.
– Convention over configuration. If you adhere to the conventions set out by Grails (which are very sensible btw) you can become productive very quickly.

Grails gets most of its magic from Groovy, a scripting language that is targeted to the JVM and features a mix of static and dynamic typing, and a Java like syntax. Groovy scripts are compiled to Java classes and can import regular Java classes (and vice-versa), so you can leverage your existing libraries.

Grails feels a lot like a Rails framework. If you want experience the power of Rails but don’t feel like learning Ruby then try Grails. On the other hand, if you have spent any time with Rails, you will find Grails simple to learn (especially with a Java background).

GORM (Grails Object Relational Mapping) is used in Grails to map domain objects to their corresponding database table. GORM is written in Groovy, but under the hood, it’s using Hibernate 3. GORM objects look and act very much like Rails’ ActiveRecord objects.There is no explicit mapping required, and table associations are simple method calls inside the domain object (belongsTo(), hasMany(), etc).

Another strong point is the choice. The Java community tends to have an overwhelming number of frameworks, application servers, views (JSP, Velocity, Tag Libraries, etc) and libraries to choose from. While there are pros and cons to having so many options, the bottom line is that you get choice with Grails. Here are a few of them:
– Grails projects are wrapped up as ordinary WAR files, allowing you to deploy them into any J2EE compliant web server.
– Grails uses Hibernate 3 for persistence, but will also support JPA compliant technologies such as EJB3.
– Grails supports both GSP (Groovy Server Pages) and JSP as view technologies.

Community: Grails is targeted at Java developers (a very large community indeed). At the same time it is worth of admiring that the Grails developers weren’t afraid to acknowledge that another community/technology has done something really well.

To sum up here are the main advantages of this framework:
1. Grails is built on several popular frameworks, e.g. SiteMesh, Hibernate,Spring.
2. Java programmers will have a flat learn curve, especially for those familiar with Hibernate and Spring.
3. Grails is maintained by SpringSource.com, that means the flexibility and scalability is not just good, it’s great!
4. Grails can be deployed on many popular J2EE servers, e.g. JBoss, Tomcat, WebLogic etc.

Please share your experience of working with this framework. It would be great to hear both positive and negative comments on using it.

Kind regards,
Aliona Kavalevich – Business Development Manager (LI page)
Aliona.Kavalevich@altabel.com
Altabel Group – Professional Software Development

What is the best mobile advertising network to use if you’re a developer, mobile publisher or advertiser? It`s quite a difficult and misleading question. This market is very fragment: there are more than a dozen mobile ad networks and there is still no dominant add network. No one really knows which ad networks are the biggest: figures on which networks offer advertisers the most reach, and publishers the most revenue, are not always reliable or indeed available.

So when looking for an ad network the best way is to look at the differentiators and assess what network better suits your requirements, target market, geography and budget. Hope this article will help you to find your OWN best ad network.

AdMob

This ad network was launched back in 2006, and was acquired by Google in 2009. Right now it is considered to be one of the best ad networks. It`s easy integrated into the app, publishers can manage the ads through the tools provided by Admob, the ads are very much targeted. However, the fill rate and eCPM of AdMob is comparatively less than some of the other competitors like AirPush.

AirPush

Airpush, a mobile ad network that deals exclusively with Google’s little green robot. It has a lot of developer support and revenue generation assurance. Airpush claims to have 10x to 30x revenue than any other android mobile advertiser thanks to the ‘push ad notification’ feature they have integrated to their system. As usually only about 5-15% of the applications are used actively in a device, push ad notifications allows you to push ads to the user screen even while your app is inactive. However there is one great drawback of the system: users may remove the applications because of the push ad notification system. There is an option for a user to opt-out of push ad notification (at www.airpush.com/optout), but very few people know about it.

Greystripe

Greystipe is a mobile video advertising platform. Mobile video ads are still very much in their infancy, but with 38% better completion rate than desktop-bound online video ads (according to eMarketer), these ads have high hopes in the coming days. They’ve already gathered several awards in ‘emerging technologies’ category and continue to grow with publishers and advertisers. Greystripe now boasts that it`s the market leader in terms of full screen rich media ads, with a 75% share of the market, delivering big name brand campaigns from the likes of Sony, Burger King and HP.

LeadBolt

LeadBolt focuses on using the entire App Usage Cycle for monetization. Developers and publishers can get money from the installation time till the app is un-installed: LeadBolt has around 8 format of advertisements for each scenario of the app usage. Even when the app is not actively used, notification ads can be shown to the user. However the app should be designed in an appropriate way for showing the ads. Also it provides tools that show all the analytics and reporting of the ads being displayed and converting to earnings.

InMobi

InMobi is a mobile advertising company that hold good positions in the market. They’ve got over 93.4 billion ad impressions monthly from 485 million consumers. Their advertising network has reached over 165 countries also. Having such huge network, it`s good place for monetizing the app. Sound really good, but as usually there is a fly in the ointment: initially it’s difficult to get accepted in their ad program network

Tapjoy

Tapjoy is another really interesting player in the mobile monetisation space and offers a totally different model to the incumbent mobile ad networks. TapJoy gives the developers a chance to both market their apps and at the same time monetize them to make money. For example, a user playing a game and wanting to buy an extra level or unlock new features can download an app as an alternative way of payment. Although these so called “incentivised downloads” or “offer walls” have recently been banned by Apple, they are still very much growing and operating on Android. Interesting fact is that Tapjoy has just raised a big round of funding so we can expect a lot more innovation and new models linking mobile advertising and virtual goods from them going forward.

Certainly these is not the full list, just some examples of good and interesting android ad advertizing networks. This is quite a young sphere and it`s going to increase in popularity and many different players in the mobile advertising ecosystem are going to appear. What ad network would you like to add to the list and why? It`s interesting to know your thoughts.

Kind regards,
Anna Kozik – Business Development Manager (LI page)
Anna.Kozik@altabel.com
Altabel Group – Professional Software Development

As you may know, the main thing which Windows 8 has adopted from Windows Phone is live tiles; a user can see them right after the computer starts. The more popularity Windows 8 will gain, the more people will wonder: what are the tiles for? What’s the use of them?

Potential customers are already a bit familiar with live tiles conception, for example, from the Nokia Lumia advertisement. Hence, they imagine what kind of information is displayed on them. Nevertheless, the number of those who are familiar with live tiles is negligible in comparison with the number of potential Windows 8 users. In the next two years Modern interface in Windows 8 is expected to cause confusion.

People will either love or hate these live tiles. But anyway Windows Phone 8 interface will seem familiar for Windows 8 users, even if they’ve never seen those smartphones. The same is with Windows Phone users – Windows 8 interface should be known to them.

Huge attention has been given to cloud integration in Windows 8. The same thing is for Windows Phone: products for these platforms and for Xbox 360 as well will be able to interact through SkyDrive and Xbox services tied up to Microsoft account (former Live ID).

Office and OneNote products for Windows Phone have already stored documents in SkyDrive, and now Office 2013 applications can do the same. It means you can create a document on one platform and continue your work on another one, and the application automatically determines where you’ve stopped your work last time. Photos made with WP-smartphone can be automatically uploaded to SkyDrive, and then they are automatically displayed in Windows 8 gallery. The same is with Facebook.

Also, Microsoft is going to implement tablets and phones interaction with Xbox 360 console. For this purpose SmartGlass application is to be released. The application will allow mobile devices to work as a console remote control and will display context information on the screen. Thus, smartphone or tablet may be used as a secondary screen in the games. Let me remind you that Xbox Live achievements are already synchronized among games versions for different platforms. Xbox Music service will provide an access to the music store and free broadcast from any device. Microsoft is not forcing to use Windows Phone, company’s service integration is available for other platforms as well, although in Windows Phone 7 and 8 it is more fully implemented. SkyDrive and OneNote clients are available for Symbian (only uploading files to the services), Android and iOS (with full functionality). According to Microsoft, next year service Xbox Music will become available for Android and iOS users. Microsoft has shown an excellent example of respectable attitude to its users.

For some time computer and mobile OSes resemblance will be only external. Although porting from Windows to Windows Phone is a quite simple process, users will have to buy separately the same application for different platforms.

It is the first time we see common interface in mobile and computer OSes. Earlier Microsoft was trying to port desktop Windows interface to smartphones on Windows Mobile. While now the company ports mobile sensor interface into computer operating system. Even Apple haven’t ventured on this.

The decision to use 2 kinds of interface in Windows 8 –desktop and Modern- is certainly rather controversial. The company risks encounter users’ complaint, who will confuse these interfaces and spend their time to find where the needed program starts from.

The situation can change only if lots of blue-chip Windows 8 applications appear in Windows Store. In this case users will be able to give up traditional desktop mode and switch fully to the Modern one.

For starting most of the applications desktop mode is needed, but in prospect more and more applications will start in Modern interface. Popularity and demand for Modern interface fully depends on applications developers. Currently there are relatively few applications in Windows Store – only 8,5 thousand. In case the quantity of applications for Windows 8 grows the same as for Windows Phone, in a couple of years there will be more than 100 thousand of them. By the way, many Windows Phone applications can be installed as trials version, which do not go separately from full versions. Let’s compare it with Android and iOS, where trial and full versions are two different applications.

After users start switching from Windows 7 to Windows 8, the number of Windows Phone 8 users will grow, opening huge perspectives in front of applications developers. Windows 8 and Windows Phone 8 work on the common core, which allows easily porting from one platform to another one. Huge amount of Windows8 users will inevitably pay their attention to the mobile version of this platform – Windows Phone 8. The interface will be familiar to them, applications will be the same, why not buy such a smartphone?

Thank you for consideration. I know there are still lots of opponents of the OSes discussed, but I’m eager to learn your thoughts on Windows 8 and WP 8, and first impressions as well.

Best regards,

Nadya Klim

Nadya Klim
Nadya.Klim@altabel.com
Business Development Manager
Altabel Group – Professional Software Development

Ever since Moses received the Ten Commandments (in the original tablet form), mankind has resorted to using top ten lists to summarize (and prioritize) key principles and ideas. When it comes to expressing security awareness concepts, security professionals tend to overwhelm their business peers with information and best practices. In trying to tell them everything about security awareness, we end up telling them nothing.

Delivering security awareness tips in bite size top ten chunks increases the likelihood that your colleagues will absorb and understand foundational security awareness concepts. With apologies to David Letterman (and to Moses), the following top ten presents practical IT security tips for employees:

* Never give out login credentials (over the phone, in person, email). Any competent IT department would never ask for your login credentials in any circumstance.
* Roll the mouse pointer over a link to reveal its actual destination, displayed in the bottom left corner of the browser. In Microsoft Outlook it is displayed above the link.
* When using public Wi-Fi, refrain from sending or receiving private information.
* Report any loss or theft of your company issued smartphone/tablet/laptop immediately to IT.
* Be leery of items from unknown sources or even suspicious links from trusted sources. When in doubt, chuck it out!
* Stop. Think. Click. Think twice before clicking that link.
* Report any security incident (ex. responding to a scam email with your login credentials) to IT immediately. Do not fear reprisal or be ashamed, such incidents are expected given today’s threat landscape.
* Use a different password for every website. If you have only one password, a criminal simply has to break a single password to gain access to all your information and accounts.
* If you have difficulty remembering complex passwords, try using a passphrase like “I love getting to work at 7:00!” Longer passwords are harder to crack than shorter complex passwords.
* Never leave your smartphone, tablet, or laptop unattended in a public place.

What quick security tips have you shared with your co-workers and fellow employees? Which ones would you add/remove from the security top-ten list? I’d love to know your thoughts!

Best regards,
Romanas Lauks
Altabel Group – Professional Software Development

It is not a secret to anyone that you can add almost anything to Azure.

Virtual Machines are a new addition to the services provided by Windows Azure. VMs allow much easier and more flexible to transfer the local infrastructure in the cloud, or to create new software solutions that are critical persistent storage. Creating VMs in Windows Azure is easy and flexible because Windows Azure provides three different ways of provisioning one.

VMs in Windows Azure can be used by almost all types of applications that could be used in the local infrastructure: business applications, CRM, Active Directory, custom applications, allowing to combine local and cloud infrastructure, creating a hybrid solution.

The difference between VM and VM-role

After the demonstration of the new service there has arisen a question – how does it differ from what we’ve seen before, namely VM-role in Cloud Services role model?

Let’s imagine a situation: you downloaded several virtual machines and with one of the virtual machines something happened (let’s say, a hardware failure). Everything that was at the machine had been lost- all unique data stored on disk and in memory etc. The reason was that Windows Azure launched a new virtual machine in response to an error. It was like it is normal for a simple application, but then turned into a big problem – considering the impermanent repository you had to redesign your application in such a way as to take into account this feature.

So the differences are:

1) Type of the storage. Earlier the VM-role – a service with a virtual machine, it had no permanent storage – so with a hardware error you lost all the data from that machine. It is a bit different with virtual machines – now you can add the persistent storage in the form of a disk with data. In addition, the disk of your virtual machine is constantly replicated in three replicas.

2) Deployment types. You had to create your VHD locally and upload to the cloud, then you could use it. With the new service, you can create, upload a VHD and use it and any other available in the gallery of images as well.

3) Setting up the network. The settings for the VM-role had to do in the service model, while the new service of VMs, you can configure on Window Azure Management Portal, and even automate them using Powershell or scripting.

Benefits of using VMs in Windows Azure

- Runway to the cloud for existing applications – A virtual machine in Windows Azure stores operating system data. You can also attach a data disk to a virtual machine for storing application data. These features enable you to easily migrate your applications to Windows Azure as-is, without requiring any changes to the existing code.

- Storage of operating system data – Changes that you make to the configuration of the operating system are preserved in Windows Azure Storage for high durability of data.

- Single instance availability – In Windows Azure, operating system data for a virtual machine is stored for you, which means that customization of the virtual machine only applies to one running instance.

- Full control of the operating system – As an administrator, you can remotely access the virtual machine to perform maintenance and troubleshooting tasks

The ways of creating VMs

- Creating a VM from an image. Creating the virtual machine directly in the cloud using a number of images provided by Microsoft or partners. This is by far the easiest route to take to quickly spin up a new virtual machine.

- Creating from a Custom Image. Building your own custom images and provisioning virtual machines from the resulting image. This involves creating a new VM using a platform image, customize it with your own software and settings, and then generalize it using sysprep within Windows or waagent -deprovision+user on Linux. Once the VM is generalized and shut down you can then use the capture functionality to save the VM as a custom image.

- Bring your own VHD. Existing virtual machines in VHD format. This method also uses the csupload.exe utility. You can upload a generalized image or a non-generalized VHD. The generalized image can be used to provision new VMs in the cloud as a template and the non-generalized VHD can be used as an OS disk to boot from or just a data disk to mount as a data drive.

The process you choose for each of these creation methods is up to you. Windows Azure provides capabilities from a point and click web interface to full automation with PowerShell in addition to a REST based Service Management API.

As was mentioned at the beginning you could add almost anything to Azure. Now virtual machines store
fortune, just take an image of the disc and go into battle J

Elvira Golyak

Elvira Golyak
Elvira.Golyak@altabel.com
Skype ID: elviragolyak
Business Development Manager (LI page)
Altabel Group – Professional Software Development


%d bloggers like this: