July 1st, 2008
Just a quick note — The device capabilities browser we were once hosting on devices.theoreticlabs.com has been moved here and given a new life: http://mobiledeviceinfo.com.
You can filter the list of available handsets by screen dimensions, MIDP version, ringtone or video support, model, and brand. We also made a couple updates to the tool to divulge a little more detail from our favorite free handset information database, WURFL.
Enjoy! And feedback is always welcome.
Posted in Uncategorized | No Comments »
June 12th, 2008
GetJAR is well known by mobile developers the first stop in distributing a free mobile app. They have plenty of reach, worldwide traffic, a cool beta-testing community, and some (slightly questionable) statistics on performance of each app. The downside to GetJAR is that the bar is set very low for entrants, so there is a lot of stuff here. You’ll be pretty motivated by seeing that the top apps are getting tens of thousands of downloads a week, but do observe just how long that list is. As of this writing, even the relatively mundane “Times and Calendars” category is well over 300 apps. Nobody is going to review 300 time-keeping apps to find the perfect one, so rest assured that the ones at the back of the list can’t get no love.
What makes a popular app popular? On this site, it’s all about perpetual motion: Aside from promotional placement, apps are rated simply by number of downloads — and the ones at the front of the list, surprise!, get more visibility, and thus more downloads, and the trend continues. If you fall down the list, your fall may accelerate over time as new apps show up and get promoted.
You do have one simple grace period: From the time you first upload an app will also make an appearance on the first couple pages. This is your chance to make it a huge hit — once it’s gone, your chance isn’t likely to come back.
Here are three tips for getting the most out of your brief opportunity:
- Be flashy. Use a bright animated GIF for your icon. Write the most seductive quip you can conjure in your summary. This is your chance to get users’ attention. This may sound obvious, but it is really helpful and something not to forget. When we switched from a static icon to an animated GIF, views on our app jumped 3x instantly.
- Use a tracking image. How did I know that views on the app jumped 3x right away after putting an animated GIF in? You’re allowed some basic HTML in the description, so take advantage of it by letting yourself see a trackable hit on your server whenever someone checks out the details of your app.
- Release to as many handsets as possible. Right away. GetJAR measures gross total downloads of your app, so don’t release for just your favorite Nokia N-series at first while you work out the kinks on the rest. Release everything at once — so everyone has an opportunity to download, and get your numbers up. This bit us the first time around since we were so psyched to release a few handsets the second they were ready. This is probably the single most important thing you can do to get good placement!
Posted in J2ME, Java ME, best-practices | 1 Comment »
May 11th, 2008
So Apple/KPCB has the iFund, Google has the Android Developer Challenge, and now RIM/Thompson Reuters is starting up their own BlackBerry fund. That sure feels like they’re trying to heat up the platform wars with pushing money to developers for very narrow goals. Who the heck would want to build a BlackBerry-only startup these days, except RIM?
The problem is that this doesn’t really promote solving any interesting problem. It is just the fragmented market continuing to compete with itself. A much more interesting direction would be to align investment pools perpendicular to this notion: Build a fund around location awareness, or mobile social networking, gaming, etc. That would do much more to unify the whole pie than this war over which handset gets the bigger slice.
Posted in funding, industry, mobile | No Comments »
March 4th, 2008
For a long time, I’ve been dying to get back into the LBS space and make something that offers a true, multi-modal experience; I want to email a URL for a bar around and say “Let’s go here” and not care whether people are reading my message on a Blackberry, an iPhone, or at work.
I’m happy to finally have the chance to build it, and we’ve just launched:
http://www.outalot.com
We’re doing NYC as a testing ground for our service, but we will be expanding it into more metro areas soon!
Also, if you’re into this kind of thing, please keep up with us on the blog as well. And as always, feedback is enormously appreciated.
Posted in WAP, iphone, startup, xhtml | No Comments »
February 28th, 2008
An interview went up a few days ago on Nokia’s Workshop blog about coming up with and developing our first private title, and the problems we ran into with testing and porting. Check it out!
Thanks, Naveen!
Posted in J2ME, Java ME, gamedev | No Comments »
February 25th, 2008
We originally launched a little game called Mitosis nearly a year ago, as a cool experiment in what it would take to get a basic, unbranded game from nothing all the way through the door and as far as we can take it. Like most geeks, we’ve released very few of our own projects to commercial success, spending our time on other peoples’ projects for the actual cash.
If we were going to, say, write up the process of how we got Mitosis launched, it would look something like this:
- Build a cool game. The fun part. When you think you’ve got something good, you should consider the option to…
- Take it to an agent. We happened to know a few good people who could represent us to the carriers, otherwise we’d have languished out on GetJAR (more on that next time). Your agent will entice you with eye-popping (but un-guaranteed, of course) numbers. Your agent will also give you feedback from carriers, middlemen, basically whoever happens to be nearby, and if you’re lucky, you’ll eventually….
- Get reviewed by the carriers for deck placement. It takes MUCH longer than you think. Dealing with carriers is extremely slow; typically they have review processes that aren’t constant, but periodic: monthly, or even quarterly. If you’re one of the lucky, chosen few, you get to spend about 60 days to….
- Port your app. Foolhardy and spendthrift people that we are, we decided to do this in-house with the help of Device Anywhere. This is a possible option, but porting is never enjoyable. Do not underestimate how much work this is. It’s really a tedious and ongoing process, and some problems you simply can’t get around. Definitely take the time to streamline your build tools as much as possible, and you can survive to see the day that you…
- Get your builds certified. Like Verizon’s relationship with NSTL, T-Mobile now has a for-pay certification program with a company called True North. In our experience, their testing has been fair, and their test cases are reasonable; the true downside is simply that it’s up to the developer/publisher (depending on your agreement) to pay for the testing, and re-testing if you fail. That’s life! And now, there’s not much left to do but….
- Wait for it to show up in the catalog. Maybe we got lucky, but we ended up in some sort of deck-placement purgatory for many months while there was some sort of internal reorganization. Recently, finally, we launched on T-Mobile. Yeah!
Our important take-homes from this whole process:
- Publishing through carriers puts you at the mercy of many, many forces beyond your control.
- Decide what you want your company to be good at and focus on improving it.
- Don’t underestimate the pain of porting.
- The last 5% of the process can will drag on for months.
And most importantly, don’t forget why you’re doing what you are doing. We set out to have some fun, take a little break from our day jobs, and make some great games. And to be honest, we started to get burnt out by the actual business process. Once your game is out the door and in the hands of pre-teens spending their parents’ second mortage, though, there’s really no feeling like it.. And we may be just foolish enough to do it again.
Posted in J2ME, Java ME, best-practices, gamedev, mobile, startup | No Comments »
January 20th, 2008
The last title that we’ve done a fairly large porting effort on, Mitosis, was loaded OTA for testing / verification purposes 318 times. This isn’t even for development, just testing a feature-complete product on about 40 devices.
Russel Buckley says it’s nigh-impossible to do iterative development, and he’s right.. but the least you can do is work out some tools that make it as easy as possible. It’s really worth investing the time in a streamlined port management system for those device-loading cravings we all get.
Posted in J2ME, Java ME, mobile | No Comments »
January 13th, 2008
If you’re managing a large site, building the WAP version of your site in a completely isolated environment is an appealing idea. It’s a business experiment, it doesn’t impact the daily site or put it at any risk, and it’s a quick way to get it up and running. This worked extremely well when I built the mobile site for a large news agency — News agencies are in the business of syndication, so they make their data extremely accessible. One of their web developers put it: You turn the tap on, and news is supposed to flow out.
So we launched our mobile news site, it was a huge success, and traffic started flowing in. Eventually, though, we started getting a few complaints that went like this: People were emailing articles to each-other from the web, and when they tried to click the link on their BlackBerries, they were redirected to the front page of the mobile site! They’d get a link from their friend, to:
news-site.com/article/25798470
And when they hit the link on their phone, they’d be detected as mobile and redirected to:
mobile.news-site.com
Not good! The same thing was also happening from users’ RSS readers. We did eventually fix this, but we had to set up some crazy redirects to take care of it (and unify some back-end data more tightly, so we could refer to the same article IDs).
The much cleaner approach would have been an integrated one, that (assuming a MVC model) simply displayed a different View while using the same Model/Controller.
A huge part of WAP consulting these days lies around ‘making the mobile version of my site.’ This is a great way to get things going quickly, but please do this with an eye toward eventually providing airtight site integration!
Posted in WAP, best-practices, mobile, mobile content, mobile web, xhtml | No Comments »
October 20th, 2007
I was about to write an amendment to the previous post per Apple’s recent announcements about the upcoming SDK, but found a few people who already have similar thoughts and concerns. Remember that the iPod already has software developers building things for it, but it hasn’t been a huge codefest bonanza the way it was with, say, Palm software, because Apple has quite a tight grip on who they allow to develop for them and who they don’t (not to mention: they control distribution with the iTunes store).
Nokia and Apple are easily the dominant players in the new generation of high-end handsets. They’re both well poised to do something everyone in the industry has been dreaming of for years: loosening the stranglehold that the carriers have on content and open the market to crazier ideas. My money is on Nokia supporting those endeavors and Apple, well, not so much. I’d say that the great unwashed out here in reality are stuck with Java ME or web apps for at least the near future.. But I would be extremely happy to be wrong.
Posted in J2ME, gamedev, industry, iphone, mobile | 2 Comments »
September 5th, 2007
The hardest part about selling software for the iPhone is, of course, that you can’t really do it.
Apple’s fond of saying that you can do everything you need to in their Safari uber-browser, and that Java is a “heavyweight ball and chain.” However braindamaged one may think Java is, saying that you can satisfy all your development by way of the browser is a total cop-out; There are things that you can do in downloadable software that you simply can’t do on a phone otherwise: Having easy access to carrier billing (all other evilness notwithstanding), access to APIs, local storage, and interface control, to name a few.
For every iPhone that replaces any other handset, be it Java ME, Windows Mobile, or basically anything else, we are losing a potential customer. This will of course be fixed eventually — soon, even — either by us outsiders, or by Apple. Meanwhile, they are taking millions of our customers out of the market. I do expect this to make waves in some shops’ bottom lines in the short term. The first generation iPhone is a huge step forward for mobile in most ways, but in at least a couple ways, it’s a big step back.
Posted in J2ME, Java ME, Uncategorized, iphone | 1 Comment »