| Application compliance is a Big Deal. It may not seem like it – if your application runs on your test boxes, hurray – but if your app isn’t compliant with Moblin v2 specifications, there’s a good chance that it won’t work on all your customers’ netbooks. Equally bad is the possibility that your applications will run now, but it won’t run later, because the app has dependencies that will be broken with a future platform update. In either case a support headache for you, a bad experience for your customer, and a potential PR nightmare for the netbook community. How do you ensure that your application will run a wide range of Moblin netbooks? And how do you minimize the possibility that it’ll “break” when there’s an update to the Moblin platform? Compliance, compliance, compliance. Note: At the present time, the Moblin Compliance Project is strictly for netbooks, and covers Moblin v2. The project aspires to cover MIDs (Mobile Internet Devices) and IVIs (In-Vehicle Infotainment systems), but it does not do so today. I wrote about the Moblin Compliance Project during the summer, and at that time, the project was just getting off the ground. (That article is, “Compliance Means Never Having To Say You’re Incompatible.”) There’s a lot of background material about the Moblin Compliance Project in that article, and so we’re not going to repeat it here.) When I wrote that earlier article, the Moblin Compliance tools were at version 0.56. Leading up to the release of Moblin v2, the Compliance Project matured significantly, and as of mid-November 2009, it’s at version 1.9. Let’s look at what compliance means, and how the Compliance Project is ready to help Moblin application developers. Defining Compliance The purpose of the Moblin Compliance Project {http://moblin.org/compliance} is to ensure app compatibility across different distributions. The project does this by defining the libraries and library versions that operating system vendors (OSVs) include in their distributions. In theory, therefore, each Moblin distribution you’ll find on a Moblin v2 netbook should have exactly the same libraries – and the same library versions. As an application developer, the benefit is that you’ll know exactly what libraries (and versions) are in, say, Moblin v2.0 or Moblin v2.1. You can then create dependencies for those libraries, secure in the knowledge that they’ll be on the customer’s computer. Thus, there are two parts to compliance. The first is for the OSV – who might be a system builder, like Asus, Dell or Hewlett-Packard, or who might be a software company like Canonical. It’s the OSV’s job to ensure a consistent software bundle for their distro. To help OSVs (and system builders), the Moblin Compliance Project has created a tool called the OSV Distribution Checker. Because this article is written for application developers – not for OSVs – we’re not going to cover that part of compliance here. However, you can use the OSV Distribution Checker on your development workstation, to ensure that it’s configured properly. The second part is for you, as a developer. Your job is to make sure that your app doesn’t have dependencies in conflict with the Moblin v2 specification. For example, if you use a library, you need to use the same library as what’s in the standard Moblin distro. If you use a library (or library version) that’s not in the standard Moblin distro, you do so at your own risk, and must take full responsibility for both installing that package, and for ensuring that you won’t mess up the customer’s computer. There’s a tool for you too: The Moblin Application Checker. By the way, the Moblin Compliance Project is focused strictly on application execution. It does not do anything about verifying that an application will give a good user experience on a small display, or that customers will like the application. All compliance means is that, according to the tests, a compliant program will install onto on a compliant Moblin distribution, and will launch without crashing. After that, it’s the job of your debuggers, performance analyzers and beta testers to ensure that your application does what you want it to do. Get the Spec Guide The current version of the Moblin v2 Compliance Specification (version 1.9), should be considered an essential resource for all Moblin application developers. Sure, most of what’s in there is for OSVs – but don’t you want to know about the platform you’re targeting? The 31-page document is a true wealth of information, describing the various layers of the Moblin platform, including their versions. For example, it tells you that Moblin v2 runs on Linux kernel 2.6.30, uses GLib 2.2, Python 2.6, xserver 1.6, OpenGL Meta 7.4, and so-on. The user interface services are provided by QT3 and QT4, GTK+ 2.16, and Clutter 1.0. If you’re building applications on a non-Moblin version of Linux, be sure that you’re using those same libraries and versions on your dev workstation, and are linking to them in your builds. Use the Compliance Test Tools After you’ve read the Compliance Specification and built your software, the next step is to test your app using the Moblin Application Checker. It’s a specially written subset of the Linux Application Checker, focusing on the specific requirements for Moblin. Moblin Application Checker is a static analysis tool, that scans your source code looking for external functions that cannot be resolve by the app’s own components, and which are not part of the Moblin v2 specification. The result is an HTML-formatted report which lists all the problems encountered during testing. Sound easy? It is – and the Moblin Application Checker even has a nice Web-based user interface to help you configure its parameters. You can view a tutorial on the software here. Want more? The Moblin team has also created a WebEx-based video that you can watch that demos the complete compliance system, which you can watch here. It’s a well-done 37-minute video; the first half is on the OSV tools, and the second half is on the application developer tools. You might want to watch the whole thing. By the way, there is no third-party certification process for Moblin OSVs or application developers. Run the tools yourself, fix problems that occur, and move forward. Be Compliant! With an emerging platform like Moblin – where different organizations and companies can build their own Moblin distributions – compliance is critical. It’s essential for keeping OSVs on track, and even more important for application developers. With new Moblin netbooks coming onto the market, you need some assurance that your app will run on any Moblin v2 device. The solution: Compliance. * All names and brands are the property of their respective owners. Alan Zeichick is principal analyst at Camden Associates (http://www.camdenassociates.com), where he advises enterprises about technology challenges, writes for technology print and online publications and speaks at industry events on enterprise IT, networking, security, software engineering and consumer electronics. Meanwhile, as editorial director of BZ Media’s SD Times (http://www.sdtimes.com), Mr. Zeichick drives forward the industry newspaper for software development managers. A former mainframe developer and systems analyst, Mr. Zeichick became a technology analyst and journalist in 1984. He has authored more than 3,000 articles, worked with consulting groups, including PricewaterhouseCoopers, IDC and Anderson Consulting, and has spoken at numerous events such as COMDEX, Networld+Interop, Microsoft TechEd, JavaOne and the Software Development Conference. He is the Conference Chairman of the Enterprise Software Development Conference (http://www.go-esdc.com). For his writing on MoblinZone, Mr. Zeichick is an independent writer/reporter. MoblinZone is funded by Intel Corporation. Read Mr. Zeichick's personal blog at http://ztrek.blogspot.com, and follow him on Twitter at http://twitter.com/zeichick. |
MeeGo Merges Maemo, Moblin Platforms Feb 15 2010
MSI Ships First Netbook with SUSE Moblin Jan 22 2010
Moorestown Gets Real Jan 22 2010
Write new comment