TeamLab PM for iOS as the start of a series of mobile applications for business

A growing number of smartphone owners are increasingly generating demand for mobile applications, including existing software products. Here are the users of the cloud service for TeamLab Office business increasingly they began to ask about the release of the application, and questions about updating the existing mobile version became less and less. Indeed, with advantages such as access to the necessary information with one touch instead of opening a browser, and navigation adapted to a specific mobile device, it is difficult to argue. Since the program immediately includes a number of functional modules, for ease of use and "lightness", it was decided to create separate applications for "Projects", CRM and "Documents". Today we talk about the first step completed - the TeamLab PM mobile application for iOS devices. How the development was carried out, what functionality is available and what next applications in the plans for release can be found under the cut.

Why did you start with “Projects” and what functionality was included?

The first in the series of mobile applications for TeamLab’s business was the Project Management module , since its functionality is not only one of the most popular, but, so to say, the most established at the moment, while, for example, TeamLab CRM will still undergo serious updates.

What specific operations can be performed using the TeamLab Projects mobile application:

  • the creation of our “holy trinity” - tasks, milestones, projects;
  • editing / deleting tasks;
  • viewing subtasks;
  • create and view discussions;
  • viewing documents attached to tasks and projects;
  • commenting on tasks and discussions
  • adding participants to the project team with the appropriate rights.

Development Features

Application Type Selection

The main criteria for creating a mobile application for us were the speed of development for the most common mobile platforms and the quality of the product. Based on these criteria, we had to make a difficult choice: developing a native application for each platform or a unified web application with subsequent packaging into a native one. Each approach has its own strengths and weaknesses. If we decided to write the entire application on the native code, we would have full control over the device that provides the SDK for each platform, as well as the maximum application performance. But this would also mean that we would have to write and maintain several versions of the application for each of the platforms. Thus, we were inclined to the decision to write a unified web application and port it for each platform, а доступ к необходимым функциям устройства получить через доступные open-source фреймворки.

Framework selection

In the wake of the growing popularity of mobile applications, quite a few libraries have appeared that greatly simplify and speed up the development process. Our initial choice fell on the Sencha Touch framework , Best suited for high-performance web applications. Starting with version 2, Sencha Touch has full support for the MVC architecture of the application, a large set of additional tools and excellent reference documentation. The framework code is perfectly divided into modules and well written, and the authors themselves are pleased with quick fixes and releases of new versions of their product. Naturally, as in most large projects, errors are also encountered, but thanks to the active online community, it is quite easy and quick to find a solution to the problem. In addition, our development team has extensive experience working with ExtJS, and the fact that these frameworks are quite similar, only convinced us of the right choice.

Problems and solutions

Sencha Touch includes tools to pack a web application into its native shell with just one command, and when writing a prototype of the application, this turned out to be quite enough. However, during the development it turned out that the proposed set of tools is not flexible enough and does not provide all the options for configuring the assembled application. In addition, the API that Sencha Touch provides for working with the device turned out to be somewhat limited for us, and in some cases did not work properly. Because of this, we had to look for an additional solution to work with the functions of the device. Open source Apache Cordova framework perfectly solved all the problems outlined, besides Sencha Touch has good integration with it. We managed to circumvent the limitations of Sencha Touch, as well as expand the possibilities for working with the device.

All the tools that we use to develop a mobile application have one property necessary in our case - cross-platform. Sencha Touch has support not only for the most common platforms, such as iOS and Android, but also starting with version 2.2 - Windows Phone 8 and BlackBerry 10. Apache Cordova has an even more impressive list of supported platforms, so the potential for porting the application to most mobile platforms is very high

Development of a service for push notifications

Push notifications are one of the inherent characteristics of mobile applications, and if their presence in some cases is debatable or even annoying, then when working with the project management tool, prompt notification of changes is just a big plus.

The main version of TeamLab Office already has a notification function that sends messages to e-mail or corporate chat, so we only had to expand this mechanism by adding another source of notifications. The PushSharp project was taken as the basis of the service for sending notifications . It was decided to use this particular library, because, firstly, it is one of the best for sending push written in c #, and, secondly, it contains extension mechanisms that are useful to us when developing applications for Android devices.

Events for which notifications are provided

  • creation, deletion, closure, resumption of a subtask / task / milestone;
  • appointment of a person responsible for the subtask / task / milestone;
  • discussion creation;
  • invitation to the project team;
  • delete a project.

What's next?

  • Apple users are much more active in the US and Europe, and for the multilingual TeamLab this audience is very important. At the same time, this does not mean that we forgot about the Russian market, where at the moment Android devices predominate significantly. Our next step is Teamlab PM for Android smartphones and tablets.
  • At this stage, viewing TeamLab Office documents is implemented using standard iOS browser tools. But in the near future after making changes to the Teamlab API , documents will open on the portal in our web application.
  • Mobile application for the “Document Management” module, with which integration should appear when opening files in “Projects”.
  • Mobile application for TeamLab CRM
  • module .

This is all the news for now. For those who have not yet installed TeamLab PM, welcome to the AppStore , and we, as always, welcome any comments and observations.