Mark Your Calendar for this MobileTogether Release


The newest version of Altova’s cross-platform framework for mobile app development includes comprehensive calendar integration for building apps with scheduling functionality. You’ll also find support for building and triggering services, easy to configure pop-up windows, and much more.

Whether you’re building enterprise apps or native apps for the major platforms, this release has the tools you need to add even more great functionality — without increasing development time.

Let’s take a look at what’s new.

Read more…

Tags: , , , , ,

Multi-Language Localization for Mobile Apps


MobileTogether includes support to seamlessly localize mobile apps in multiple languages. This empowers developers to build one version of a mobile app that works across many languages as well as across multiple platforms.

Developers can include translations in a single MobileTogether app design for all text phrases required, and when any end-user runs the app, whether on an Android phone, an iPhone, Windows desktop, or any other supported platform, the language for the app is selected to match the language for the device operating system.

With multi-language localization, even text-to-speech functionality is localized to the user’s native language.

READ MORE

In an earlier post on text-to-speech functionality, we first built a simple demo app. In this post, we will use an enhanced version, shown below on an Android phone, to illustrate localization:

MobileTogether multi-lingual localization demo app android

Our multi-language localization demo app includes cross-platform support for English, German, French, Spanish, and Italian languages.

Text strings for each language are assigned in the MobileTogether Designer Localization dialog:

MobileTogether multi-lingual localization dialog

The top portion of the dialog lets developers assign text in different languages for each control in the app: the Speak, Silence, and Exit buttons along the top of the app window are translated in the top three rows of the Localization dialog.

When the app launches on any user’s mobile device, the default language specified in the device operating system setting determines which text is displayed for each control. If the end user is running some other language, default values from the Localization dialog are used.

The green plus button at the top of the dialog lets the developer add support for additional languages from a list of standard language codes:

Multi-lingual localization for mobile apps -- adding a new language

MobileTogether multi-language localization even supports languages that use non-roman alphabets such as Azerbaijani in Cyrillic, listed as az-Cyrl-AZ in the menu above, or the Japanese Kanji alphabet. In fact, all the demo applications installed with MobileTogether are localized for German, French, Spanish, and Japanese languages. Shown below is a portion of the Localization dialog for the demo Mortgage Calculator app, where various label text is specified:

Multi-language localization with non-roman alphabets

The bottom portion of the Localization dialog lets developers assign text for named strings. In our demo app, these are phrases that will be displayed in message boxes and spoken during execution.

If it’s not practical for a developer to translate all the text required in a large, complex application, the Export and Import buttons at the bottom of the Localization dialog permit management of multi-language localization text in XML files outside the MobileTogether Designer. A translator or other language professional can create or fine-tune localized text in an XML editor like Altova XMLSpy.

When our demo app launches, an Action Group assigns the correct localized phrases to nodes in the data tree:

Multi-language localization -- loading messages in the user's language

After multi-language localization text strings have been defined, you can even change the language assigned during simulation to check localization before deploying the app. The Simulation Language option is available in the Project menu and the languages offered correspond to those defined in the Localization dialog for the project.

Multi-language localization with simulated execution in a new language

Here is a view of the Mortgage Calculator demo application running in the Simulator window, where the Simulation Language is Japanese and the selected target device is an iPhone 6 in portrait orientation:

Simulating mobile app execution during multi-language localization

The Set Language Action

You can even empower end users to run your app in any language you have localized–without changing the language setting for the device operating system. This feature could be useful in a language-learning environment, or for apps running on a workstation or tablet shared among users who speak different languages.

Our multi-language localization demo app lets the user choose a new language via a combo box control. The app then confirms the choice via a message box, and restarts the app in the new language.

Shown below is a screenshot of the app running on an iPhone. The user has opened the language selector combo box and scrolled to the choice for Italian, but not yet accepted the selection by clicking Done. (On an Android phone, the user would tap simply tap the new choice.)

Multi-language localization with end-user language selection

When the user confirms the language selection, the app restarts in Italian:

Multi-language localization demo of a mobile app running in Italian

The restaurant text in the edit field is translated because it is one of the standard text strings defined in the Localization dialog:

Translating mobile app messages for multi-language localization

The developer of the demo app wanted to be courteous and not leave any end user accidentally stranded in an unfamiliar language, so setting the new language employs several actions:

First, a text to speech action reads a restart warning message in the current app language.

Second, a message box is displayed containing the same restart warning, also in the current language, with the choices OK or Cancel.

If the user chooses OK, the userLanguage element is updated with the userChoice value set by the combo box, then the Set Language action restarts the app.

If the user chooses Cancel instead of OK, the combo box selection is reset to the current language and the app continues running without changing the language, waiting for the next user input.

You can try localizing your own cross-platform mobile apps by downloading the free-to-use MobileTogether Designer, which comes with integrated help, tutorials and many sample apps.

Tags: , , ,

How To Build Your First App


MobileTogether Designer provides a powerful drag and drop interface that allows for incredibly quick cross platform app development. To help developers get started I have produced this video tutorial, which covers the interface and the steps needed to build your first app.

By the end of the video developers should be able to navigate the Designer’s interface and create a basic app that takes user input and performs an action with it at the press of a button. This is the first in a series of tutorials aimed at familiarizing developers with the ins and outs of app development in MobileTogether.

 

Tags: , , , ,

CbC Reporting Made Easy


A recent mandate from the OECD calls on large, multi-national companies to report financials annually for each country in which they do business to their local tax authority. The OECD requires that this detailed Country by Country (CbC) Report be filed in XML document according to their reporting schema. But for tax departments that work largely in Excel, this provides a significant stumbling block – and companies are scrambling to meet the requirements by the end of 2017.

The new CbC Reporting Solution from Altova takes the pain out of meeting the mandate by automatically generating valid, properly formatted CbC XML reports based on data either entered manually – or imported directly from Excel. Let’s take a look at how it works.

 

Read more…

Tags: , , , ,

How to Compare XML and Other Files


The ability to diff and merge files is a necessity for every developer. This can be especially troublesome when trying to compare differences between files containing structured data, such as XML.

The video tutorial below provides an explanation on how to compare XML files – and more – using both XMLSpy and DiffDog. These powerful utilities perform diff and merge operations in an XML-aware manner, which reduces the number of false positives seen when comparing files.

Compare XML files with XMLSpy

Read more…

Tags: , , ,

SQL Queries with Parameters: Support for SQL Templates in DatabaseSpy


SQL queries with parameters, also known as SQL templates, are a flexible and efficient solution for repetitive data reporting requirements, for instance allowing users to easily execute complex join statements with multiple sets of values. DatabaseSpy, the multi-database query, design, and editing tool from Altova, includes robust support for developing, executing, and refining complex SQL queries with parameters, also known as SQL templates.

Prototyping SQL queries with parameters in DatabaseSpy can even accelerate development of queries required in other projects such as database mappings in MapForce or database data sources for MobileTogether cross-platform mobile apps.

Big Data Support

Read more…

Tags: , ,

Push Notifications Headline Latest MobileTogether Release


The latest release of MobileTogether, Altova’s framework for cross platform mobile app development, adds easy-to-use tools for defining push notifications, the ability to embed apps inside web applications, and more.

Let’s take a look at these new features, which only add to the long list of functionality available for building today’s sophisticated, data-centric mobile apps.

MobileTogether 4.0 Adds Push Notifications

Read more…

Tags: , , , , ,