Guest Opinion

Delivering on Enterprise Mobility

Mobility is infiltrating the enterprise in a big way; if you aren't creating mobile-based applications today, you soon will be.

Unless you are already a mobile developer, the growing popularity of personal mobile devices might be taking you by surprise.

p>What might be even more surprising is that these devices are finally beginning to establish a beachhead in the enterprise. For at least a decade, we've seen examples of how mobile devices were penetrating the enterprise, but these turned out to be isolated instances that could not be replicated easily across companies and industries. Today, however, the vast majority of enterprises have a mobility strategy, whether defined or just assumed and acted upon.

The problem is that there is no single "killer app" that everyone must have. The uses of mobile devices and applications vary greatly by company, computing infrastructure, and level of innovation. However, almost every mobile application in the enterprise is an extension of an enterprise application, whether it is ERP, shipping, inventory, or data collection and aggregation. The key is to be able to extend the reach of the enterprise beyond the desktop, rather than creating an entirely new application infrastructure specifically for mobile devices.

The need for these kinds of applications represents a real opportunity for developers. We are in a position to educate users on what is technically possible, and use our imagination and skills in creating unique applications that have real business value. By doing so, we can direct how the enterprise collects and uses entirely new data.

After years of false starts and inflated promises, Microsoft technologies in the area of mobility are maturing and becoming useful. The valuable thing about technologies such as Windows CE.NET, Windows Presentation Foundation/Everywhere (WPF/E), and the Extensible Application Markup Language (XAML) is that they are based on Microsoft's established enterprise technologies.

In the past, it was normal for device developers to use entirely different operating systems, tools, and programming models for mobile applications. This made it difficult for developers to learn an application and difficult for enterprises to integrate these applications into an existing application infrastructure. Specifically, it made data exchange and business logic interfaces extremely difficult to develop.

Windows CE.NET and the PocketPC use an abridged version of the Windows API and .NET Framework, which means that Microsoft developers already have the skills foundation. In many cases, all it takes is the right application need to encourage developers to install the mobility development tools and learn the rest of the application model.

The smart client application model will dominate the mobileapplication landscape of the future. This model enables some business logic and local storage on the device to allow for easy interaction and offline use, while also connecting to a server-based enterprise application. CE.NET and PocketPC-based devices are easily programmable and adaptable to communicating with existing Windows-based enterprise applications.

WPF/E offers the promise of building browser-based applications with the rich client look-and-feel of Windows Vista for existing devices that use other operating systems or application frameworks. As Vista moves into the enterprise over the next couple of years, it will be the expected look-and-feel of new applications.

From a developer standpoint, WPF and WPF/E will also make use of XAML, which will be a real convenience. The ability to define a user interface and its flow control declaratively, as well as add functionality through scripting, gives developers enormous flexibility for code reuse, including the ability to reuse the same UI definitions across different platforms and systems. There will certainly be some limitations, but it will be possible to achieve a similar look-and-feel between an enterprise desktop application and its mobile counterpart. Even if you don't buy into the whole WPF and Aero UI model, building user interfaces is so much more natural and intuitive with XAML and scripts.

The future of mobile applications isn't just pie-in-the-sky speculation any more, nor does it require the specialized skills that it did in the past. The information needs of enterprises increasingly require better access to real-time information and analysis from parts of the business that have not been accessible to traditional information systems in the past. As a developer, you already have many of the skills needed to help reach these edges of the business. If you're not being asked to do so today, you almost certainly will be asked to do so in the future.

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube