Skip to main content

Do we need a Mobile Developer Alliance?

Posted by terrencebarr on January 9, 2008 at 2:34 AM PST

Update 1/17/08:

  • We will be having a post-Java Mobile & Embedded Developer Days meeting on Friday 1/25 where we will continue the discussion on this topic after kicking it off at the conference. If you're interested please contact me or Sean Sheedy. For more information, please see Seans blog.

I think most people would agree that feature-rich mobile platforms and unfettered wireless data services  coupled with a new wave of content (rich, interactive, integrated, dynamic, personalized, meshed) will be catalysts for the next phase of the participation age.

The platforms, software architectures, protocols, networks, and usage models have been surfacing and evolving for some time now and mobile Java is playing a central role. But really this evolution is about content, content, and ... more content: The cool new applications, the innovate functionality, the  "anytime, anywhere" dynamic and meshed information that offers users new ways of interacting with the physical and virtual world around them. Call it "Web 3.0"?

But is the mobile ecosystem as a whole really facilitating the development and deployment of this new wave of content? Is it easy for developers and content creators to think up, build, deploy, and monetize  the things that excite users and drive new uses of mobile technologies? Does the mobile industry in its current state provide a fertile ground for allowing innovation to occur and new ideas to flourish?

A while ago I attempted to capture the situation developers find themselves in today when trying to bring content to market. A key diagram I came up with was this:

Don't worry about following each and every detail in the diagram. The point is to realize that the situation is complex - and for a number of reasons.

Before proceeding I think is important to realize that while the diagram mentions Java it should be clear that it is by no means unique to Java but that it applies (with variations) to the mobile ecosystem in the wider sense. Furthermore, specific market segments that provide a somewhat more straightforward model typically achieve that with a trade-off in flexibility and choice by means of a single vendor approach in the technology or model. At the end of the day such "simplifications" just add another dimension to the situation and don't truly simplify things from the perspective of the developer trying to address the wider market.

The main point to take away from the diagram above is that developers are in a less then enviable position - the place where the rubber meets the road. In order to create exciting applications and content and make a living from that developers need to pull all the pieces together and get things to work across a multitude of technologies, devices, platforms, vendors, networks, and business models - achieving this with constrained resources within a tight market window while somehow keeping their sanity. The bottom line is that the multitude of variables and parties to deal with is truly challenging and seriously inhibits innovation and growth of the entire sector.

But it gets worse still. As a big and established player you typically have relationships with the parties you need to deal with in getting your content into market and you have the resources to throw at the complexity. However, history has shown without a doubt that most innovation comes from unexpected places, from individuals in a garage, from left base - folks without the rolodex and the deep pockets. As described presently the mobile industry is tilted in favor of big established players - so it is highly probable that the industry is currently wittingly or unwittingly depriving itself of the very content it needs to attract in order to catch the next wave.

How did this situation come about? I think there are three main reasons:

1) While mobile platforms have been around for a decade or more it is important to realize that we are still in the midst of the technological evolution - competing standards and platforms are a natural by-product of maturation in a technology space. So that is a historical development.

2) In contrast to the wired Internet the mobile ecosystem adds another dimension with its own set of rules: The network operator. Think of it as the wired Internet being accessible only through CompuServe, AOL, and the like. Remember? Such is the situation the mobile space currently and it hardly makes things easier.

3) Developers are a fragmented group - they have no consistent voice and they are all busy fighting for themselves. Hence, they have no representation and no leverage to influence the industry.

So, where am I going with all this? The bottom line is that the most important and most innovative part of the mobile ecosystem - the small application and content developer - has traditionally been woefully underrepresented in the industry with many detrimental consequences for the entire mobile market.  While many players in the ecosystem claim to understand and cater to the developers it is clear that nobody can speak for the developers but themselves - and drive goals and topics that are truly important to them.

The state of the mobile industry today really begs the question: Do we need a Mobile Developer Alliance? An entity that represents the needs of mobile developers and works towards making application and content development easier and spurs innovation to the benefit of the entire industry. And if so, what would such a Mobile Developer Alliance look like, how would it operate, what were its goals and policies?

It's a topic that will be surely hotly discussed at the upcoming Java Mobile & Embedded Developer Days. I'm doing a lightning talk (LT-8) on the subject, there will be a panel discussion (TS-9), and we'll probably talk about it in one or more of the ad-hoc brainstorming sessions.

I'm curious to hear your thoughts. And/or meet you at the conference to discuss it in person.

Cheers,

-- Terrence

Powered by Qumana

Related Topics >>

Comments

Hi Terrence,

In the early days of J2ME, Sun (Bostrom at the time) was pushing this idea of getting the small developer content onto the carrier provisioning servers but this was rejected, largely because carriers didn't want untested applications operating on their phones, instead they preferred dealing with the content aggregator approach. That quickly killed the idea of the small developer.

One of the key problems is the requirement that all content needs to be tested on all devices. Programs like Java Verified, while a good idea, did little to help.

I would love if Sun would lead the charge on this again. The small developer community doesn't seem able to organize itself and could use a kick to get started.

The first public reference I know addressing this problem is Jason Briggs 2002 JDJ article: Leveling the Playing Field, where he talks about a MIDP Co-op. His predictions about the problems were accurate, but a co-op never evolved. Since 2004, I have tried to start such a community several times with JVending but there appears to be little interest from developers. I've retooled JVending for Android, but that community of developers seems to have little interest as well.

I think that the lack of focus on the small content developer is one of the most overlooked and saddest parts of the industry.

Regards,
Shane

Unfortunately, I won't be able to make it down to the Bay area, but I do have some specific suggestions for a Mobile Developer Alliance:

1) Host events that allow small content providers to demonstrate their wares to carriers and content aggregators.

2) Host a service that allows provisioning of small developer content to the device. They should be able to stock and manage content.

3) Information: Developers need info on how to set up billing, connect to SMSCs, WAP Push, etc. Each carrier is different. It would be helpful to provide carrier contact info, expected costs of using services, publicly available interface specs. These questions come up over and over again. Also manage forums that discuss these issues.

4) Encourage open-source collaboration of mobile projects and community building between projects. Certainly, there has to be a lot of duplication among applications and as developers we stand to benefit from reusable components.

Shane

Sean, Definitely - let's use the conference and the room I booked the day after (Friday) for discussions. By the way, all conference attendees are very welcome to join us for the Friday discussions! -- Terrence

I think we should give some sort of an alliance a shot, at a minimum, as a way for us to get a little better organized. The numbers of individual developers are huge (2/3 of the JCP?) but virtually invisible.

Organized, or perhaps simply informed, they could have created a completely different outcome in the most recent JCP Executive Committee election. (A couple of us tried to start a discussion of the issues during the last election, but the KVM-INTEREST mailing list, which we think many are subscribed to, was down. This could have been avoided with a high quality mailing list run by an alliance.)

An alliance can also act as a watchdog to make sure large companies participating in the JCP are acting in the spirit of the JCP and not simply forwarding their own interests. Alliance members can share notes and get a better understanding of the politics involved, and develop informed strategies for addressing them.

The challenges you outline are not going to be solved overnight and in fact such an organization will add one more bubble to your chart. One challenge will be keeping the signal-to-noise ratio high enough so that developers tune in rather than tune out when the alliance needs to send an important message. Another challenge is going to be finding resources when we identify worthwhile tasks that require an investment in time or money. Developers are already up to their eyeballs putting food on the table.

A developer alliance could start with as little as a short list of email addresses of people who are interested in working towards fixing these things.

The risk, though, is that we do what has been done for a number of years - people blog and talk about the problem, but that is not the same as taking action.

I think you just solved a problem I was having, and that was, what specifically to do with the room you reserved on Friday after the M&E conference. Why don't we open it up to people who are interested in taking action instead of just talking, and come up with some concrete things we can do over the next quarter? We're not talking actions like more blogging, but actions like reaching into our network to see if there are people in places that can help slowly start to turn the tide.

An alliance could be used to propel an individual candidate into the Executive Committee, but this can become a distraction. It's entirely possible that more can be done outside the EC than from within. Still, it would not hurt to have several individuals inside, working together to remind the other members what we are working with them towards on the outside. In fact, we would want the alliance to run for the seats, so that we can collaborate as a team. Members who are representing themselves on the EC would not be able to collaborate with anyone else!

Some organizations lend themselves to member involvement by the very nature of what they are organized around. It might not be the case here. Still, getting a phone and email list together of all the people who are thinking like us would in itself be a huge first step.

Shane, Thanks for the comments. I'll follow up with the links.

To reply on two of your points:

First, I think the carriers are slowly coming around (at least some of them) and realizing that locking down their networks and controlling everything that runs on them has hurt them by preventing the rise of new content and uses that drive much-needed ARPU. Witness recent announcements by some carriers to open up their networks.

Second, I am seeing is that some ISVs view their experiences, connections, and bugs and workarounds they have developed over the years as a competitive advantage and are unwilling to share that info. It's really a pitty because it hampers progress of the developer community as a whole. Not sure how to address that.

But in general I feel the pain has risen to a point now where there might be some real interest in getting developers organized.

Regards,

-- Terrence