Category Archives: Uncategorized

all the hard work pays off at Launch 2011

So the last three weeks were a bit of a blur. Very little sleep a night, rushing to get demo code into…well…demoable shape, Barcelona, London, San Francisco – but we did it.

Jason Calacanis (@jason), Tyler Crowley (@steepdecline) and the rest of the @launch crew put on a hell of a show. 2 days of continuous pitching and demoing. I was glad to be a part of it – though I have some quick insights for anyone else who goes through a similar exercise.

But first – here’s what happens when it all goes well:

(click here if vimeo video doesn’t show above)

This is the 3 minute speed demo and 3 minute discussion with @scobleizer, @westcoastbill, Adeo Ressi and a few others.
Weeks of work boiled down into one demo – so it’s great that the wifi worked and the product worked.
I believe we were the only team that did a fully live phone to phone demo – and it went off pretty much without a hitch.

Which reminds me – check out the AWESOME NEW UI and the meeting place suggestion feature.

Here’s the official (well – in-blog official) unveiling of the new UI – soon to be gracing the screens of iphones and androids everywhere (with symbian and blackberry following on shortly):

First the main map screen:

main map screen

Very slick – semi transparent top and bottom bar – The map is now the primary user experience – and it feels like far more map view – and then we have the main inbox:

main map screen

Let’s see here – reverse geocodes, badged icons, (as it happens these echoes swipe away – but we’ll leave that goodness for another demo), semi transparent popups on top of maps πŸ˜‰

But the big drum roll is of course – meeting place suggestions:

main map screen

Yes. We managed to do it. Not only are we solving the “Where are you?” problem with one click – but we’re also helping people FIND, SUGGEST and AGREE to a meeting place – in 2 clicks.

But – I digress.

We were talking about @launch. We arrived in the morning and setup the stand in the LaunchPad – it looked something like this.
Well ok – it looked exactly like this.

stand - in launchpad

It’s waaaay early in the day on this photo – and everyone is getting their stand setup. On closer inspection you can see what’s going on here:

closeup screen

Honestly somebody should give Jay Freeman (@saurik) some friggin’ royalties here – almost every single iphone 4 in the launchpad was JAILbroken. How do I know this – because most of them were displaying their apps on HD monitors just like we were – and you can’t do that without Cydia/DisplayOut….because Apple hasn’t seen fit to allow it.

Funny.

(Btw the iPad is there as a walkaround demo pad – word of advice having tried this with phones – when you are demoing phone apps to more than one person it BLOWS – just use an iPad and 3 or 4 people can crowd around and see the demo. Sure if you have time everyone can try the demo on your one phone…but the iPad is great for events like this.)

Anyway – the big lesson learned for entrepreneurs is that there’s no such thing as a free lunch. So you got selected for an event like Launch. So you got your stand – and your cool demo and your business cards. PEOPLE WILL NOT COME AND JUST STOP BY YOUR STAND.

Sure some people might wander on by – but the people you need to impress will not. You have to go out and meet them, talk to them show off your stuff – DRAG them to the stand if you need to. Just show them demo.

Oh wait…make sure your product and your demo doesn’t suck and you can make a compelling pitch. Btw that’s @dondodge’s blog there – a shout out is in order to him as he became a big fan after seeing an in-person demo. (as did @DerekDodge – but that’s for another blog post)

Because if your product and your demo sucks – well then you just shouldn’t really be in the business should you.

Our best contacts at the show came from talking to Judges and Panelists directly, after or between panels.
Be polite but firm – and above all have your pitch down.
People want to see cool new ideas succeed – that’s why they are here.

Btw – when you’re speaking to people – watch their reaction – especially if you’re speaking to a group of more than one. (they are not robots so neither should you be) Don’t let negative feelings fester. Catch them early and redirect the attention back to your story.

Let’s see – a couple more things here – usage for echoecho is skyrocketing. It was doing very well even before launch but our twitter stream really fired up after my presentation and the growth is continuing. We’re processing 2 echo message a second.
That’s crazy fast – because we haven’t even officially launched yet.

It’s amazing to consider how far we have gotten 100% bootstrapped – however I have a sneaky feeling that some of the relationships we got @launch will complete our round very quickly.

Thanks again to the entire team – here’s one last photo taken by Vancouver’s own Kris Krug – I think I’m thinking “shit I hope the wifi’s working πŸ˜‰

wifi

Thassit. Oh wait no – SXSW.
We were on again/off again with SXSW – but who am I to disappoint Scoble πŸ˜‰
We’ll see. Cross your fingers and see what happens.

Last – but by no means least – here’s some online coverage we got as a direct result of Launch – Matt Rosoff covered us for Silicon Alley Insider – which was then picked up by SF gate and a bunch of other places.
Matthew Lynley covered us for VentureBeat. – The VentureBeat story got picked up by the NY Times also.

Advertisements

so I went to the Barcelona zoo…

also known as the Mobile World Congress. Phew.

It was quite a show. 60,000 visitors supposedly. It was the first time I had been and it was quite surprising – and not in a good way.

Perhaps if I’d thought about it – it would have become obvious in retrospect but MWC is like an entire conference devoted to the guy who’s too old to be at the nightclub – yet still insists on going.

Yes I know that not everything is about mobile, social, location and apps – and yes I know that the world doesn’t revolve around iphone 4 and Nexus S users however it was just bizarre how telco the entire conference was. I remember commented about this when I presented at UpLinq (which is I suppose a sort of US based equivalent of MWC) but in Barcelona it really hits you in the face.

The carriers and most of the companies that work with them (supplying bandwidth, services, hardware etc etc) have ZERO idea as to where the market has moved. They might aswell still be selling US Robotics Sportster modems.

I mean – when a company as large and cumbersome as Verizon appears to be amongst the more proactive ones then you know you’re in trouble. I actually had a good chat with some of the developer outreach folks from Verizon – and they’re really trying to take apps seriously (at least as much as their senior management will let them)

Let’s see – The Google/Android area was of course awesome – Matt Hershenson’s hardware hacked Nexus S handsets allowing HDMI output really shined here. They’re pretty much the only way to do HDMI output from Android phones properly. (hacking Droid X units with RealHDMI is not the same as you get a smaller 854×480 insert on a 1280×720 screen)

But other than that area and maybe (just maybe) some of the Samsung stuff – it was really fairly dry and boring there.

Had a good time hanging with @jebinger, John Malloy and @webbizceo (aka Damien Patton) at the Blue Run dinner.

Barcelona didn’t exactly provide great weather – but I escaped from rain to a nice lunch with Christine Claure from Navteq. I also had time to connect with Tom Goguen (@tomgoguen) who thinks it would be great if BBM (BlackBerry Messenger) could speak echoecho.

So do we Tom, so do we.

I guess if nothing else – it was nice to see our final product coming together and getting some serious market validation at a very high level – which is a nice segue into the next post…our coming out party at Launch 2011

typing on an iphone to launch an app – WTF?

So the other day I was watching a friend testing the new echoecho builds (This is for a late February launch – so we can’t announce it just yet. But we will…soon)

Anyway – he picks up his iphone 4 – unlocks the screen and then immediately goes to the Search box by swiping left and starts typing “echoec…”

the conversation goes like this:

“Why did you do that – don’t you know where the echoecho icon is?”
“Dude have you seen how many applications I’ve installed. This is just faster.”

So off we then go on a 10 minute discussion about mobile UI/UX. Here’s the thing. He’s not lying.
He has over 100 applications installed – stack into a bunch of folders – so it genuinely is faster to type into a spotlight search.

What a sad irony – Apple masterfully re-engineers the swiping homescreen icon grid for iphone and then promptly un-invents it by allowing folder structures.

Yes I know some of you might say – “this is a power user, normal users don’t have this problem” but I’m not sure I buy that.
My experiences watching iphone users suggest that they frequently do NOT delete apps they download even if they don’t use them.

And if they don’t delete them – that means that they behave the same as many people who just dump icons on their computer desktops.

Which brings us back to typing on the iphone to launch an app.

This isn’t really anything to do with echoecho at all – I was just intrigued at how quickly the iphone home screen could turn into a windows start menu if users were not careful.

why iPhone’s background location needs to be redesigned…

The last blog post announced the final (and long-awaited) arrival of automatic replies to echoecho on the iPhone.

You may be asking yourself what took so damn long? (I know I certainly was). So I’m going to tell you a story about Apple and background location functionality.

To make things more interesting (and give me an excuse to insert an image) here’s a tool we had to build in order to get this right:

iphone 4 SLC

I’ll explain what all this means shortly.
But let me get back to Apple. So as many of you know (well ok – ALL of you that are iphone devs know) Apple now allows background processes on their iPhones in special circumstances – Location apps being one of the primary types allowed to do this.

In fact to quote Apple’s own website

With the new location monitoring service in iPhone OS 4, your app can register for callbacks when the location of the device changesβ€”even when your app isn’t running.

Yeah. Sounds great.
Except it doesn’t work so well in practice. In fact I’d go so far as to say Apple’s implementation of it has been pretty much broken in more ways than one from the very beginning – and even today it’s still not particularly efficient.

Here’s the problem. There are only two forms of background location monitoring Apple expects/allows developers to request.

I’m going to call them CONTINUOUS and SLC.

CONTINUOUS (continuous background location updates in full Apple parlance) is designed for Applications that need continuous access to the onboard Location infrastructure even if they temporarily go into the background (e.g. turn by turn navigation)

Apple explicitly discourages developers from using CONTINUOUS mode longer than is absolutely necessary.

SLC – on the other hand – stands for Significant Location Change – and this is the method Apple recommends.

To wit – from Apple’s website:

The significant-change location service offers a low-power way to receive location data and is highly recommended for applications that do not need highly precise location data.

This would be great. If it worked vaguely – or even at all.

The first problem we had (and btw ANY developer of geoapps on iphone has this problem) is that Apple’s uninstall routine was broken on O/S 4.1. It’s a bug that didn’t receive much attention or PR – which somewhat surprised given that it affected any Geo-App. Essentially it would not allow any app that accessed location services to be re-installed – because it would never uninstall properly in the first place)

But Apple eventually admitted this (I like to think we were among the first to point this flaw out to them) and fixed it in the 4.2 version of the O/S (it was fixed in the 4.0 version – they just broke it in 4.1)

Yes – I know this has nothing to do with SLC directly – but indirectly it does – because it makes the debugging process horrendous. You see Apple has spoiled us devs – because 99% of the stuff works so well that when something doesn’t work we all FREAK out πŸ˜‰

Back to SLC – the idea here is that when the phone moves a significant distance your application receives an update in the phone’s location.
OK. In theory that sounds good. Less network overhead, less battery wastage – all with one function call.

Like I said. This would be great if it worked. But it doesn’t.

(don’t worry the pictures are coming up)

As regular users of echoecho know – we use a PULL model for requesting location (i.e. other users ask you where you are) which we think is far more sensible, user-friendly and natural than a PUSH model where you spam everyone with your location whenever you choose to check-in (But this belongs in another rant).

The reason we need to background location at all – is because of Automatic replies to your Favorite friends. (as per the previous blog post)

On other platforms (e.g. Android, Symbian or Blackberry) when you get an echo from somebody who is on your Favorites list your phone sees the request come in and then automatically responds on your behalf – notifying you it has done so.

Apple does not allow this particular kind of interaction on the iPhone (more on this later) so the server must respond for you. In other words – we need a reliable, easy and battery-efficient way to update your location if you use the Favorite Friend functionality.

So here (thank god for that because this blog post was getting loooong) are some images describing why this is a problem:

Look at this journey near Hermosa Beach:

gps only

The blue circles represent GPS data points and they do a pretty good job of showing where I was at the time of this test. I drove up Manhattan Avenue, took a right down Manhattan Beach Boulevard, a right on Sepulveda and a right again on Artesia/Gould. (we used a custom written diagnostic program on an iPhone 4 and an iPhone 3Gs running in parallel to analyze this throughout the Los Angeles area)

This was approximately an 10 minute journey.

Not bad you might think. Clearly at most intervals there you’d have a half decent idea of a person’s location given that you have so many data points.

Not so fast. These are NOT SLC data points.

Here’s that same image with an SLC data point overlay.

SLC+GPS

Those would be the big green circles. Yes. There are only two of them – and look how inaccurate they are.
(oh btw – the size of the circle of course indicates the degree of accuracy).

SLC is basically equivalent to cell-id level of accuracy. In other words an accuracy level that predates the very first iPhone.

This sucks. It sucks even more that it doesn’t really work properly.

The phone is supposed to report an SLC event every time it passes into a new Network cell. Well we drove in large 25-30 mile loops around Los Angeles and often there were long 5-6 mile gaps with no SLC events at all. I don’t care how bad AT&T can be at times – it’s not that bad.

The conclusion is basically that SLC is unusable for geofencing, unusable for any kind of friend tracking applications – basically pretty much unusable for most geo-applications we can think of.

So how do you fix this problem?
Well within the Apple constraints there’s only one way – and it’s some variant of what we did – namely:

You use the SLC event not as your location indicator but as a trigger to kick-off high-accuracy location detection (which can then utilise wifi/cell-id AND GPS).
Optimising this algorithm for accuracy vs. battery life still requires a bit of work – but we can’t give all our secret recipes away in one blog post – so that will have to do.

Of course – there is a better way to do this.

If anyone from Apple is reading this I strongly encourage you to implement something which would hardly change your rules at all – and that’s the following:

Allow background running application to be “triggered” by a push notification.

That’s it – it’s a trivial change in code – because when an application is running in the foreground the push notification is passed to the app as an event that the app can choose to process as it pleases.
So this functionality already exists. Apple just needs to allow background running apps to be kicked this way also.

Far cleaner and more elegant.

Not to mention far more efficient – think about the fact that every geo app running on your phone that accesses background location services has to do something like we did to make their solution work.

echoecho iphone v1.95 ;) – automatic replies for your closest friends…

ok. so this is the last subtle small UI update. 3rd week of february will bring a massive UI update.

Nonetheless there are some cool things here – namely these two:

  • calling and texting directly from map
    call_from_map
  • automatic replies – this one was a long time coming…
    auto reply

A number of other stability fixes were applied but they’re not all that interesting. So let’s talk about these two for a moment.

Firstly – calling and texting directly from the map.
I don’t understand why other Geo-Apps don’t do this already – in fact I wouldn’t be surprised if everybody copies us. There’s really no excuse for multiple clicks in order to contact someone. It’s a clean implementation and one that’s already getting a lot of use.

Not much else to say about it – other than to point out that it’s subtle UI changes like this that make all the difference when you’re making a tool that you want people to actually use.

It’s only one-click difference – but in a two-click experience that’s huge.

As for automatic replies – well that deserves a blog post all unto itself. From the functionality point of view – if you click the STAR symbol in the inbox – you mark your friend as a Favorite.
This means that your iPhone will AUTOMATICALLY REPLY to any incoming echoes (that is “Where are You?” requests) if it is able to without you having to take your phone out of your pocket.

This is sort of like Mobile Me but way better – and it’s for your ANY of your friends πŸ˜‰

Regular readers of the blog might be thinking – “So? Big deal. We had this on Android months ago.”
Yeah well this is not Android.

Apple’s method of protecting users from potentially nefarious background apps required a redesign of the way our automatic reply functionality worked.

So now you have all the privacy of the original echoecho setup (i.e. one-click replies to Where are you? requests, no tracking or stalking) but in addition to that you have the ability to set your phone to automatically reply to certain friends.
By the way – this functionality is of course OFF by default (and if you delete the echo it resets to being OFF again) – but you can turn it on and off with one click of the star in the inbox.

As for the rigmarole involved in actually building this functionality – see the next blog post.

echoecho android – version 1.93/2.93 ;)

well ok – technically it’s 2.93 – but it was meant to be 1.93. However due to a quirk of the android market in not allowing you to go backwards in version number…we ended up upgrading ourselves (by mistake).

So now you have drumroll for version…..2.93

The cool new feature here (along with the assortment of usual stability updates and speedups) is FULL INTEGRATION with the Android addressbook.

This means that you can send an echo to find somebody directly from many places in your phone. It’s the kind of deep integration for echoecho that should/will eventually happen on every handset – but in any case let me show you an example:

contact detail DIVE

It’s that easy. (note that phone numbers and email address have been changed to protect the errm…innocent)

Not all Android contact views look exactly the same (since the manufacturers frequently tweak some settings but every contact will have the ability to directly find that friend (i.e. send them an echo) with one-click.

During your first echoecho startup it takes a little while to configure the contacts (approximately 30 seconds for each 300 contacts you have) – but this process is asynchronous and you can carry on using your phone while this is happening. You’ll see a small notification that looks like this:

contact configuration

This configuration only happens once. When you add/change a number subsequent adjustments are near-instantaneous.

Let’s see – what else. Oh yes..we’ve had to say goodbye to Android 1.x
So you echoecho users out there who are on older Android handsets that cannot be upgraded to 2.1 or higher versions of the O/S – we cannot continue to develop the platform for you. Google’s recent stats estimated the older handsets are less than 15% and decreasing rapidly.

You can still continue to use the older version of echoecho – but you won’t be able to take advantage of any new features.

Oh wait – there’s one more thing. I’m a big fan of this device integration because I believe it should be as easy as possible to say “Where are you?” – the whole premise of echoecho is built around the concept of speeding you up and making impossible tasks not only possible but super-efficient.

With that in mind – check this out – because of the way we implemented contacts integration – any time you click on the icon of a user e.g. in the Contact List view shown here:

contact list

or in the SMS inbox as shown here:

sms inbox

You can find your friend with one-click.

Awesome stuff. Have a nice Christmas break – there should be a new iphone build this side of christmas (assuming iTunes plays ball) – but as for the New Year – LOTS of stuff is coming at end February.

Enjoy and happy echoing πŸ˜‰

accurate mid-air location sharing ;)

I flew from Los Angeles to Toronto on Virgin America recently and I noticed in flight internet was free – so I decided to try something that as far as I know had never been attempted…namely to exchange a precise location with a friend…using echoecho of course πŸ˜‰

I had a bunch of phones with me (iphone 3gs, LG WP7, Samsung Galaxy S and Nexus One) – but I chose to use the Nexus One – mostly because with Android I can explicitly differentiate between Network location (wifi and cellid) and GPS.

Initially I turned GPS off and when I checked my location on the echoecho minimap it showed me at LAX airport.

Oh.

I should mention that at this point I was just over an hour into the flight and at about 30000 feet and travelling at 500mph (ground speed).

Amusing.

Anyway – remember there’s no cellid signal up here – and the reason why the lookup was showing LAX was presumably because google’s databases had the wifi SSID mapped to LAX.

So then I turned GPS on. I sat close to the window. I was about to give up after just over a minute but then….the minimap snapped into position and I had a lock.

So as part of this test I put my phone down – set my friend to autoReply (this is a basic echoecho feature which allows any close friend of yours to remotely query your phone’s location) and I waited.

A few minutes later (yes I know this was a planned test but you get the point) my friend sent an echo from their iphone.
I got notified immediately that my Nexus One replied – and they saw this:

mid-air-echo

Thassit – so now you can ask and answer the question “where are you?” even if someone is on a plane πŸ˜‰

By the way – the iphone screenshot above shows the new beta build of echoecho on the iphone – not yet on the appstore (with direct calling and texting from the map)