Three mobile projects from the Apache Software Foundation


When somebody says “Apache Software Foundation” in a discussion on Open Source, some people try to provoke with a big and loud yawn. They think on C++ coding dinosaurs who are hacking on Apache HTTPD, the worlds most used web server. Indeed the trend tells us to use NGINX or work with Node.js on the server side instead. Besides the “grandpa software” arguments they claim about SVN.

I have a surprise for these people:

  1. The Apache Software Foundation support GIT. We have GIT-Mirrors on Github and some projects already switched to native GIT on ASF machines. No reason to claim anymore.
  2. We do not code only in C++ or in Java. A lot of “JavaScript projects” arrived or still arrive, all targeting on mobile development. In other words: the Apache Software Foundation still runs innovating projects.
  3. And NO, the people behind Apache HTTPD are NOT dinosaurs. They are pretty cool and the still make our daily web experience. Let us be glad and thankful for our HTTPD, besides all trends.

The grumblers usually mention something on “social coding” in that discussion and forget the ASF motto: “community over code”. But in this post I don’t want to elaborate the difference between Github and the ASF. I would like to show you three cool projects in the mobile and javascript area. These projects prove: the Apache Software Foundation still does innovating Software. And with the Apache Software Foundation I mean all the nice individuals who spend endless hours, often in their prime time (like me sigh).

Apache Cordova

Apache Cordova started as Phonegap. It was Open Source for a good while and gained great success. Then Phonegap has been bought by Adobe. While the name “Phonegap” still refers to the company, the sourcecode, documentation and all related assets have been donated to the Apache Software Foundation. The donation got the name Apache Cordova. Now Phonegap is offering great services around Apache Cordova.

What does it do? In easy terms: with Cordova you can create Apps for the iOS, Android, Windows Phone, Blackberry and so on. You write your App in HTML and JavaScript. Cordova is some kind of container which runs your code inside a webview. If you are good with design, you can create native looking Apps with just HTML and JavaScript. And - of course - with only little extra work it is pretty easy to port your code from one device to another. Of course, the code is hosted local on your devices harddisc. No remote host is necessary - you can stay local, if you want.

Apache Cordova is an API which lets you access even native functions, like Camera or the Accelerometer - all with JavaScript. It does not give you widgets which makes it “good looking”, like jQuery mobile does. But well, it is pretty trivial to design with HTML (compared with some native languages). And you can use jQuery Mobile, of course (or something else).

I wrote myself Cordova Apps and I am pretty much impressed by the power of the API. I have had some pain with jQuery mobile on the other hand, but could solve everything with using my own nice looking widgets.

Apache DeviceMap

Apache DeviceMap is a project which creates a data repository with device information and images for all devices you can imagine. The plan is to collect data on the devices first and second create an API to use or manage it. This project is pretty new, but it got already some significant contributions. If you need information on the various devices you should keep an eye on this project.

Ripple, A Mobile Environment Emulator

Wait, not Apache Ripple? Not yet! This project proposal has hit the Apache Incubator recently! There is no acceptance vote so far and thus this project is NOT YET an Apache project. But the feedback was so good already, that I expect the Ripple-Developers to become Apache Ripple-Developers pretty soon. I am excited on this project myself, as it is a great addition to Apache Cordova or Apache Devicemap.

Ripple is a browser based mobile phone emulator! It will help you to develop Apache Cordova Apps in your browser. It means, you write HTML/JavaScript in your editor of your choice and open the project in for example Chrome. Ripple let it look like it would run in a real device.

This will speed up your development cycle a lot - esp. if you have experienced the sluggish boot/redeploy times of Android devices. The iPhone Simulator is pretty nice of course, but Ripple tries to emulate some native functions which are not supported by the iPhone Simulator yet.

Ripple and Apache Cordova have much in common. That Ripple joins the ASF is only a logical step for me. Glad they want to do it.

What to heck is the Apache Incubator?

You may have recognized Apache Cordova and Apache DeviceMap are “incubating”. And I wrote Ripple might (!) join the Apache Incubator very soon. But what is it, this “Incubator”?

Before a project joins the Apache Software Foundation, we need to make sure IP is clear, no trademarks are hurt and people understand the so called “Apache Way”. With latter ASF people usually mean: “Community over code”. Of course there is a little more behind it, but you get the idea. The ASF is a group of people who want to write software together - but also sometimes want to drink a beer together, chat or maybe phone. We are a community and new projects need to grow into the rest of the community. Not every project feels good at the ASF and some leave. You can think of the Incubator not only as the trial phase in which the ASF tests the project if it fits - it is also vice versa. The project needs to decide if they want to join our community.

Anyway, only when the project leaves the Incubator it is an “official” Apache project. It gets its own subdomain alá I expect to leave Apache Cordova pretty soon. As some people on the Ripple project are involved in Apache Cordova, I believe Ripple might only need pretty short time in the Incubator too. The case of Apache DeviceMap is a little different. The community there is building up from scratch and so I guess it will take a few more weeks to complete incubation. But let’s see.

You can help!

Even Incubator projects (and especially these) are open for contributions of any kind! You are welcome to help! And as you have seen, some of our projects are “in trend” and modern. If you help, you can even tell your friends you are participating on a new and modern project. JavaScript and Mobile has truly arrived at the Apache Software Foundation. It’s up to you if you join us - if you do, let me know and we’ll probably have a beer together.

Tags: #Apache Cordova #Incubator #JavaScript #mobile #Open Source