the labs @ laan thoughts and other ramblings

iphone 3gs submission trickery

this is one for all you app developers out there (can i get a what, what) - anyway - if you do anything with the new 3gs features make sure to include the UIRequiredDeviceCapabilities element in your plist file (i.e. gles 2.0 or compass) - this is really not documented (well in an obvious place)  read the full article on it so see the full how.


tweetdeck to small screen

So tweetdeck [http://bit.ly/tweetdeck4iphone] app finally released today (was curious how long apple was going to take, but apple was nice enough to let it through on the on the first real submit though it took a full week to approve).

This was a very challenging project as getting the “TweetDeck Experience” onto the small screen was quite a feat. cc took the leap at the beginning of the project that we could create a ux like that of the multipage view for safari as tweet columns and it was his hard work that we were able to pull that off. Have just been watching the summize stream (ah i mean twitter search) and its crazy as people are tweeting about the iphone about about once a second. Overall the response seems pretty positive, but people are definitely pointing out a few missing features.

Again here, this is real 1.0 app. Most of the twitter apps out there have been through a few version and there feature sets are quite mature. We hope with a couple of minor releases we should have the app fully featured up, but again with this first release we had to prioritize.

Its going to be interesting over the next week distilling all the feedback and seeing where improvements should be made. Am mostly curious to see what people are going to say about performance. It does “lag” in a few places but only as result of so much data being processed.


More cool tricks with the iPhone

while we were pluggin away on the big stuff cc (@cclaan) whipped out another really great iphone app called light writer. grab it on iTunes. You can also see it in action with some pics on flickr and if you are the socially motivated type join the facebook group .

The whole app works on a pretty basic premise - POV - persistence of vision (read all about it on wikipedia ). You have probably seen the effect on one of those toy clocks and if you are make fan you should check out all the cool project like this one with a bike wheel.

Of course with the iphone you done have as high of a refresh rate so using this takes a bit of practice and it works best in low light (again see the pics). and for photography its just plain ol’ cool.


Stupid pet tricks (with an iPhone)

How to use an iPhone and Remote Sound Box Pro to turn your dog into an RCD (remote controlled dog). Get Remote Sound Box Pro for your iPhone here ( a shameless promotion).


why I am (not) loving apple right now…


So last week I listed a few reasons why the android marketplace really had some issues from a developer perspective – well its apple’s turn. We have had a few apps out there (including a top 5) as well as helped a few launch – definitely don’t know that much (I don’t think anyone does), but here are some quick thoughts.

First the iPhone marketplace is huge and that’s amazing, but as developers getting apps to it has some “blocking issues” as we say….

1. approval process – this is like a big black box – sometimes you get right through and other times you just keep getting bounced for the most trivial of reasons (i.e. inappropriate use of a “Plus” symbol when not related to adding contacts). You can resubmit the same app with no changes and get through or can re-submit an app that has been approved and not get through. It’s infuriating. When I was living in Holland there was a scandal because the dutch government outsourced its testing process to a private firm for drivers licenses. The firm got paid (as well as charged a testing fee) every time someone took a test. It was discovered that this company was purposely failing people on the subjective portions of the test so they would have to re-apply. We know (or at least are pretty sure) that apple is outsourcing some of their approval unit testing, so conspiracy theorists warm up your engines.

2. App Store date - Not knowing when your app will be approved is very tough. You cant time any marketing to it or really make any plans. Once it has been approved it can just appear starting a few pages back as your approval date and when you start appearing have a gap. There are a couple of tricks to dealing with this, but they don’t work consistently.

3. Caching inconsistencies – When you first launch an app, you have 24-48 to get it some traction. In these first hours you app will display, then disappear then display again. This doesn’t happen with every app, but when it does (Ahhhhh…..)

4. List Economy – The lists really need more of reddit or digg algorithm – if for some reason bad app makes it to substantial position, it can just stick there not allow for rotation and thus making very hard for other apps to get daylight.

5. Reviews – Apple had definitely made strides in this dept but it still has tons of issues – a good reading on the problems - http://news.cnet.com/apples-mobile-app-review-system-needs-overhaul/


the droid goes shopping

so the android market has been open a few days more or less in different places. wanted to share a bit of a seller perspective who now has apps on both market places.

1. market size – the android market is tiny (like a mac mini) – we here estimate between 600K and 1.5 mil activated handsets (worldwide?). in all the apps I have released I have about quarter million downloads (well 245,977 as of this morning to be exact) with most of that from one app - thats good in one sense that is a substantial market share of g1, but thats nothing compared to what we have in iPhone downloads.

2. Micro-payment – yes google account checkout is do-able, but users with iTunes have years of education and trust, plus most users who are willing to buy online have bought through iTunes aready – the transition to mobile had a very hight adoption.

3. 24 hour return policy – great for consumers, bad for developers. The iPhone apps have been such a success because developers can turn our stupid sh*t and people just buy it and go – oh this is stupid, but what the hell it was only 99 cents – here I am seeing about a 40% return rate – yeah the apps I am setting are silly little thing just to test the market with

4. Small app storage size – realistically a user has about 16MB of storage space for what I like to call “electables” – these are the apps the are just for fun – the rest of the are your necessary apps and one or two that you need to have for work, etc. Yes you can get a user to use the SD card to increase performance here – but this means users are having to delete apps all the time to make way for new ones. Savvy users know don’t keep stuff you don’t want.

5. 24 Hour return policy – so back to this point – small apps storage space with this policy is basically the perfect storm.

6. Developer marketing – yes there is an instant approval process, but you cant managing your pricing to drive adoption into a revenue stream. For pricing you can go from paid to free but not back again.

7. No desktop Web interface or client – the  iTunes works because there is an iTunes app – when even a fella such as myself resorts to browsing apps via sites like http://www.cyrket.com/ — there are problems.

All said – I like android because I am a java geek (android is not real java btw – its harmony - http://harmony.apache.org/) , but if you are looking to make money as just a part-time developer – stick to the iPhone.


some globe action

screenshot_globe

So are we are working on the spreadmob components we are (well have) made globe components for iPhone, android and now the web – this is a little flash10 pre-release experiment to show where the users of an app are.

btw - flash 10 is really interesting — the new 3D libs give it a lot of potential — this globe app is like 50 lines and with the bytearray stuff am able to read all the lat/lng points in as binary — so reading and plotting 10,000 points takes like 300 milseconds…

but back to the point — mobile devices are really about connecting people and apps are a fun way to do that even with a game — with these globes its an instant snapshot of who shares your interests.


Whats in a name?

rocketpTalking about apps…

As we are constantly in the business of putting names to things and most recently are starting to put out (what will hopefully become a slew of) apps.

Thought would share some of the research that we have done and just general thinking on in the space. Basically there are two schools of thought with a third popular hybrid:

1. name is something unique and simple (i.e. redBoxx ) – this is critical in the age of twitter, google, etc as you have something unique people can filter you one from any information stream.

2. name something descriptive (i.e. red photo share box) – this works well for SEO and now in the app store and the like on auto-completion before you actually search.

3. the hybrid – have a simple prefix (i.e. rokt ) then attach descriptive suffixes to it (i.e. rokt pictures, rokt videos, etc)

The removing of the last vowels also can achieve this effect. Driven by the necessity of short domain names it also led to distinctive filters (i.e. flickr, tumblr, etc). I have no problem search or finding those things.

But this little rant is about apps. Its very hard to build a brand. Its much easier to appeal to a users basic impulse desires when they are browsing searching etc. Also when you through in the mechanisms of how iTunes indexing works the key (or at least my current thinking) is simple but descriptive names that index well. A good example is Kortina’s upcoming app – i365 Workout of the Day – its got a bit of unique branding with “i365” (though he may run into trouble later as Seagate has some TM’s on that) and a clear description of what the app does.

If a user is searching for an app and put “workout” it will filter to it – the rest of the appropriate keywords he can put in the body so the results drive users to his app. Over time if he releases more apps he can continue the “i365” and start to build a brand.


an iphone app gets added to the portfolio

remotebox Cc (one of the brothers laan) just released his first iPhone app. He has a few others that he is holding onto for later publication so we will get to see some more iPhone apps coming out of laan labs very soon.

Officially titled the “Remote Sound Box - Farts, Pets, FX” it’s a pretty nifty app on a lot of levels. Even though there a tons of iPhone sound FX apps out there, this one is very unique because it has remote features. Basically you can turn your and a friends iPhone into the worlds most expensive remote control sound (fart) machine. But lacking another iphone you can remote control it through a browser. Plus is has unlimited record (on this amazing old-skool - yes that is with a k - tape machine look), tons of sounds, slick look, etc etc. Get it here(and if you are in the mood a bunch of stars wouldn’t hurt).

So go test out this app and impress your friends at parties that in these economic times you have the world most expensive toy. Ask your audience for a volunteer iphone and turn it into a remote speaker (well fart box) and be the life of any event (well in theory at least.)

On a side note we used spreadmob.com (a new project of ours) to power the help and social features of the app. Other apps are currently using to power global high-score boards and contest. More on spreadmob to come….


Parsing Apple’s plist xml format in AS3

This is just a random thing I needed to make so I thought I would post it.

This class lets you parse the plist xml format into a more as3 style xml object. The plist format is not heirarchical for its key/value pairs, it has them in the same level. This will just make a more heirarchical representation. It’s not perfect and only supports array,dict,string, and integer, but it’s very easy to add other things.

here is a usage:

 
var plist : XML = 
	<plist version="1.0">
	    <array>
	        <dict>
	            <key>title</key>
	            <string>Angry Cat</string>
	            <key>fileName</key>
	            <string>cat_angry1.caf</string>
	            <key>fileArray</key>
	            <array>
	                <dict>
	                    <key>fileName</key>
	                    <string>cat_angry1.caf</string>
	                </dict>
	            </array>
	            <key>icon</key>
	            <string>icon1.png</string>
	            <key>buttonIndex</key>
	            <integer>0</integer>
	        </dict>
	    </array>
	</plist>;
 
   var parsed : XML = PlistParser.parsePlist( plist );
   trace( parsed.item.title );

Download the file: PlistParser.as


← Before