Fellow mobilists and regular readers of the Wireless Wanders blog (this redesigned one and the old one) will know that we can spend a lot of time going back and forth debating the various pathways to mobilization. As I suggested for newbies to mobilization (see "Tips for Micro-ISVs going mobile") this is often putting the cart before the horse, or pressing send before the message (excuse the metaphor).
There is a new future coming, besides Obama's presidency. It's the Rich Mobile Applications (RMA) future, as featured in my presentation on that topic.
Although none of us are sure how that future's going to pan out, we do know that most mobilists are working towards the same goal, which is to provide a mobile software ecosystem that fluidly connects the panoply of mobile APIs (to cameras, messaging, address books, GPS, and so on) with the rich world of Web 2.0, all in an open and socially-enabled manner.
There are a lot of bets riding on the heavy use of web technologies across the whole apps stack, from servers to handsets (and increasingly inside the operator portion, but that's another story for now).
Before we get to the RMA future, there can be no doubt that access to mobile APIs is already available to MIDlets (J2ME apps). The MIDP environment, good or bad, continues to evolve. MIDP 3 promises a whole new level of capabilities. Handset vendors continue to add the extension APIs to converge, albeit slowly, upon a decent core set (MSA and MSA2).
So what if we could combine the two approaches?
Well, some of those ideas are in the presentation, but then recently I discovered that our fellow mobilists at Cascada Mobile are already well down that path. What about being able to create MIDlets using the Web standards of HTML, CSS and Javascript? That's exactly what the clever chaps at Cascada have done with their Breeze application creation solution. You write the app in these familiar web languages and then upload the design to their servers where it gets converted into MIDlets that will run across a wide range of devices.
Don't confuse this with the failed (withdrawn) Opera Mobile platform. There's no new runtime needed here or anything of the sort. We're talking the plain vanilla J2ME container running MIDP 2.0. Using Feature Packs, declared via appropriate (standard) HTML tags in the header, developers can access native APIs from HTML and Javascript.
I caught up with Cascada founders Alan Lysne and Sean Maurik to dig deep into their solution and was impressed by what they had to say. But don't take their word for it - go ahead and download the developer kit and give it a try. What's more, if you're a Ruby on Rails fan, such as I, then they even have a set of code to get you started on AJAX calls back to RoR from a Cascada Mobile app.
1. Who is the primary target user for your service?
"Our target is anyone who would like to turn an idea into a mobile application. We have individual developers using Breeze right up through large enterprises who wish to implement corporate solutions. Similarly, we are seeing applications being developed that are consumer oriented, and ones that are enterprise solutions."
2. What key problem(s) are you solving?
"Anyone who has ever tried to create a mobile application for 'feature phones' or even smart phones has come up against numerous challenges. Picking a platform, learning a new language, porting the app to run on as many phones as possible, figuring out distribution, and then discovery - how does someone even find the app once it is built. With Breeze, we've taken care of all of those issues. Anyone can now download our software, create an app using known Web 2.0 technologies, and have it run on over 150 devices. We have also built in a distribution system whereby apps can be installed simply by entering a mobile number into a web page. Our software will guide the user through the install process, doing device and carrier detection in the background. So even though we've automatically created numerous versions of the actual app, optimized for each phone type, the end user and developer don't have to even worry about it. The right version of the app will be installed on the right phone."
3. Can you explain the business model - how does Cascada make money? How can developers make money?
"Right now, we are promoting a free version of Breeze. To offset the cost of operating the service, we have built in an ad-funded model whereby the mobile apps will display small ads in each application. Users do have the option of paying us a fee to 'turn off the ads' for their applications they create so they can then monetize them as they see fit. We even have some customers who are asking us to help build their mobile apps."
4. How would you describe the service - is it a developer tool, a platform, an ecosystem? Please explain.
"It is probably best to view Breeze as a 'solution'. There is a developer download that enables a user to simulate a mobile phone on their PC, and see how their app is going to work on real phones, and once the app is complete, it gets sent up to our servers where we automatically create many versions that are optimized for each type of device we support. The platform then acts as a hosting system which takes care of discovery and distribution - in part through our www.breezeapps.com portal, where users can choose to list their apps."
5. Can you explain a bit more about CM helps apps to become viral?
"Cascada Mobile started out in the viral distribution space, focusing on the ability to 'send' an app from one phone to the next. We determined that while this was a great feature, there were so many other challenges bringing a mobile application to market, that we'd provide the much broader solution we offer today. Basically, we have a feature with Breeze created applications called "Tell-A-Friend". As an end user of the mobile application, if I wanted to recommend an application to a friend, I could simply enter my mobile number, and theirs into the application and 'send' it to them. The great thing about how we've put this together, is that it doesn't matter if I send the application from my Blackberry Curve on AT&T to a Nokia N95 on Vodaphone in the UK - Breeze handles everything."
6. Any plans for Android/iPhone support? Are these platforms important to your plan/roadmap?
"Our first step was to support Java since it is supported on so many phones - billions by most counts. Our roadmap includes support for other platforms including Android, and we'd like to support iPhone."
"Our target is anyone who would like to turn an idea into a mobile application. We have individual developers using Breeze right up through large enterprises who wish to implement corporate solutions. Similarly, we are seeing applications being developed that are consumer oriented, and ones that are enterprise solutions."
2. What key problem(s) are you solving?
"Anyone who has ever tried to create a mobile application for 'feature phones' or even smart phones has come up against numerous challenges. Picking a platform, learning a new language, porting the app to run on as many phones as possible, figuring out distribution, and then discovery - how does someone even find the app once it is built. With Breeze, we've taken care of all of those issues. Anyone can now download our software, create an app using known Web 2.0 technologies, and have it run on over 150 devices. We have also built in a distribution system whereby apps can be installed simply by entering a mobile number into a web page. Our software will guide the user through the install process, doing device and carrier detection in the background. So even though we've automatically created numerous versions of the actual app, optimized for each phone type, the end user and developer don't have to even worry about it. The right version of the app will be installed on the right phone."
3. Can you explain the business model - how does Cascada make money? How can developers make money?
"Right now, we are promoting a free version of Breeze. To offset the cost of operating the service, we have built in an ad-funded model whereby the mobile apps will display small ads in each application. Users do have the option of paying us a fee to 'turn off the ads' for their applications they create so they can then monetize them as they see fit. We even have some customers who are asking us to help build their mobile apps."
4. How would you describe the service - is it a developer tool, a platform, an ecosystem? Please explain.
"It is probably best to view Breeze as a 'solution'. There is a developer download that enables a user to simulate a mobile phone on their PC, and see how their app is going to work on real phones, and once the app is complete, it gets sent up to our servers where we automatically create many versions that are optimized for each type of device we support. The platform then acts as a hosting system which takes care of discovery and distribution - in part through our www.breezeapps.com portal, where users can choose to list their apps."
5. Can you explain a bit more about CM helps apps to become viral?
"Cascada Mobile started out in the viral distribution space, focusing on the ability to 'send' an app from one phone to the next. We determined that while this was a great feature, there were so many other challenges bringing a mobile application to market, that we'd provide the much broader solution we offer today. Basically, we have a feature with Breeze created applications called "Tell-A-Friend". As an end user of the mobile application, if I wanted to recommend an application to a friend, I could simply enter my mobile number, and theirs into the application and 'send' it to them. The great thing about how we've put this together, is that it doesn't matter if I send the application from my Blackberry Curve on AT&T to a Nokia N95 on Vodaphone in the UK - Breeze handles everything."
6. Any plans for Android/iPhone support? Are these platforms important to your plan/roadmap?
"Our first step was to support Java since it is supported on so many phones - billions by most counts. Our roadmap includes support for other platforms including Android, and we'd like to support iPhone."
7. What level of device mapping are you doing? Is it to families of devices with similar display capabilities (per the simulator), or to individual devices? How extensive if the device mapping database?
"It's a combination of things. The general rule of thumb is that if we need to do something specific for a device or set of devices in order to run on it then that means it's a new device family. Currently we have some families based on device manufacturer (using specific manufacturer API's for example), some based on display sizes (some devices report display properties better than others), some based on feature support (image capture capabilities for example) and some based on a whole slew of properties. Our device mapping database is designed to grow as we add devices and discover new porting criteria, it currently tracks about 80 different properties."
8. Are you using a web run-time in the downloaded apps, or how would you describe the compilation/interpretation process?
"The Breeze compiler creates native applications. That means that we don't package up a JavaScript runtime or web runtime of any sort. Our build process starts by taking the HTML, CSS and JavaScript that the developer used to create their applications and parsing it. We then generate actual J2ME compliant Java source code. This user generated code is then matched with code that's been precompiled and pre-ported code for the various feature packs that the developer requests and the UI engine and together they create a fully independent and device family specific application. This process is repeated for each device family (we don't believe in lowest common denominators - we build directly for each device) resulting in multiple versions of the application which are then fed into our distribution system and made available for download."
9. Who is your competition?
"In a lot of senses, our competition is the native platforms that people might develop on - or even people who opt to build mobile websites instead of applications. So for example, somebody might choose to build a Symbian app only, or even create their application in Java ME (Java Mobile Edition) directly, rather than using Breeze to do that for them. There are also some new platforms out there including Adobe Flash Lite or even Microsoft Silverlight, but they just aren't on as many phones as we are able to reach right now."
Thanks to Alan and Sean for responding to my questions. It's still early days for their solution, but you can check out the developer kit or go take a look at some of the apps already available in their Breeze apps store. Have a play and see what you think. Hopefully I'll follow up with another post once I've had more time to use the developer kit. I have no shortage of ideas for apps!

Comments