With my daily helping of all things TechCrunch, GigaOM, VentureBeat and what have you I pretty much can’t go a day without hearing about yet another up and coming start-up that’s poised to take the world by storm. Whilst I was developing Lobaco these kinds of stories were the inspiration fuel that kept me going as it seemed like even the most wacky ideas were securing funding and it was my fervent belief that should I follow in their footsteps that I’d then also reach some level of success. Of course 1 year and 1 failed Y-Combinator application later taught me that the road to success isn’t always paved in the same way for you as it is for others.
Indeed I vented my frustrations with all these positive stories, likening it to inspiration fatigue.
After coming to that realization I started trying to seek out the stories of failure, stories of people who were in situations like mine and what caused their idea to fail. Such stories would provide me with a framework of what to avoid and what I should be doing that I’m not doing now giving me a much better shot at achieving success. Trying to find such information amongst my feed reader proved to be quite fruitless except for the tales of large companies that were in the long downward spiral of decline. This is to be expected however as a failing start-up that’s only received seed or series A level funding doesn’t seem like much of a story since 90% of them fail anyway.
The Startup Genome project then was exactly what I was looking for as when I first read about them they were looking to gather information from both sides of the table. I’ll be honest though I was sceptical that they’d ever come up with anything, figuring they were just another think tank that would use metrics that no one could be reasonably expected to apply to the real world. That all changed when I read their first report, especially their insights on premature scaling:
Since February we’ve amassed a dataset of over 3200 high growth technology startups. Our latest research found that the primary cause of failure is premature scaling, an affliction that 70% of startups in our dataset possess.The difference in performance between startups that scale prematurely and startups that scale properly is pretty striking. We found that:- No startup that scaled prematurely passed the 100,000 user mark.- 93% of startups that scale prematurely never break the $100k revenue per month threshold.- Startups that scale properly grow about 20 times faster than startups that scale prematurely.
I’ve been an on again, off again developer ever since my first year of university. I wasn’t particularly good at it either and it took me a good year of slogging through various programming languages before the penny finally dropped when I started using C#. After that initial hump however I found it much easier to pick up on new languages and technologies which has ultimately culminated in me attempting to create my own web application from the ground up, something I would’ve seen as impossible just a few years ago. It’s just over a year and a half since I began work on my pet project and in that time it’s gone through 3 complete rewrites, 4 redesigns and several months of me staring at a computer screen wondering if this is the best thing to do with my time.
It was that little hater getting into my head again.
I hadn’t really been thinking about much until a friend of mine commented on how he’d noticed that my writings indicated I was getting tired of developing Lobaco. After thinking about it for a while I knew he was right, the long weekends spent coding and testing had been taking their toll on me mentally. I had begun to fantasise about other applications I could be developing or other hobbies I could pick up, losing hours in research. After a while they started to meld together and my new found hobbies were turning into other potential start up ideas and I began lusting after them as they began to look so much more tangible than Lobaco. It was the dreaded unknowing procrastination beginning to slip in again and I had been welcoming it willingly.
As Jay Smooth put so aptly it was being in the thick of creation for so long that was making me lose sight of the end game. I’ve been writing on this blog for over 2 years now and there have been many times I’ve thought I should just give it up and shut the whole thing down (I would gain a considerable amount of time per day back again) but every time I get a comment either here or in real life I know that the work I do here is appreciated and it keeps me going that much longer. I’ve finally come to terms with the fact that some days I just won’t be able to find anything to write about and that doesn’t mean this blog is worthless. Still I do enjoy blogging and when I’ve got a topic I’m passionate about I feel it shows and it’s posts like that that keep me coming back every day in the hopes I’ll hit on one of those topics.
Ever since that realisation I’ve been making great strides with the Lobaco iPhone application. Last weekend was probably my most productive ever with 4 core features being implemented and many improvements made thanks to some open source libraries I hadn’t come across before. Now it feels like I’ve hit one of those points where my progress as an iPhone developer is accelerating and my formerly hacker style approach is now becoming more standardized and new features are just rolling off my fingers. I’ve still got a couple months of development effort ahead of me before I’ll be releasing the iPhone application to beta testers but now its only a matter of time rather than the impossible mountain it used to be.
I guess this is why the majority of start ups are founded with more than just a single person. It’s so easy to get lost in your own world when you’re trying to bring an idea into reality and having someone there beside you really helps to keep you in the game and focused on the goal. Whilst I haven’t found anyone (yet, but I’m still looking!) who’s willing to go on this startup journey with me my group of close friends have acted as the sounding board and grounding rod that’s gotten me this far into the project. The next few months are going to be the make or break time for Lobaco but with the progress I’ve made in just the past couple weeks I have a much renewed level of confidence, and a desire to succeed that is yet to be satiated.
Now I don’t consider myself to be some uber-programmer, more like your garden variety enthusiast who knows how to work his way through a Google search to find what he’s after. Still I’m often amazed to find those who call themselves programmers (and even more worrying, convince others to pay them) falling for things that really should be obvious to anyone with half a brain about them. Sure I’m not immune to making some serious logic errors or just plain WTFery but something as fundamental as not sending your users’ passwords across the Internet in such a way that anyone with freely available packet capture software or even a Firefox plugin can read them is one of those things that really should go without saying. Traditionally this is done by encrypting the connection between you and the user using SSL so that anyone listening in just sees garbage and not your user’s password.
Securing a web connection between a user and your server, in the Microsoft world at least, doesn’t take too much configuration to get it working. For my pet project it was little more than adding a line of code at the top of the API implementation, installing a SSL certificate on my server and creating a client access policy file to enable cross domain communication. All in all I went from an API that sent everything in clear text to a fully secured API in a little under 2 hours with a good half of that being spent googling and sussing out which SSL provider I was going to go with. Still it seems that nearly every month I hear of at least one big start-up or long running service that fails to implement encryption for their login details, potentially endangering their users.
The first such company that I heard about was Foursquare, a popular geo-social networking application. Now I had been using that application for quite some time before I heard about them not encrypting anything so you can imagine how I felt when I found out they had let that little detail slip their minds for well over a year. Sure they were quick to fix it but who knows it would have gone unfixed had no one said anything about it. Their close rival Gowalla also neglected to implement any sort of secure communications for almost 3 years, making me wonder how something like that could go unnoticed for so long.
It doesn’t just stop there either. Last month saw not one but two companies being outed as passing login information around in clear text. The first was Napster (yeah even I’m surprised they’re still around) who not only has no encryption on their login forms but also sends users their login credentials when trying to get them to renew. Then just 2 weeks later it was revealed that the recent hit photo sharing app Instagram was also spreading information over the web that it shouldn’t be. To Instagram’s credit they were quick on getting a fix out, but it still seems like a fundamental error to make when you’re sending sensitive data over the Internet.
For all the vitriol that I’m launching at these companies I can understand the mindset that leads up to this kind of mistake happening. For the longest time I developed everything without SSL as it made debugging the whole application that much easier. Even with Fiddler’s SSL decrypting feature it still doesn’t seem to work quite right when cracking open encrypted communications so the solution of just turning SSL off works much better. Then when it comes time to deploy not only is your app not configured to use SSL all your API calls are made to the unsecured endpoint. If you follow good coding practices the latter shouldn’t be too hard to fix (your API URL should be a global variable) but getting the web server to serve out a SSL connection can take a bit of wrangling to get done, especially if you don’t control the web server yourself. So you deploy the code and hope that no one notices as at least 5 companies have gotten away with such things for years at a time.
Security is one of those things that’s always the lowest priority until something happens that forces your hand. It’s one of the most laborious aspects of developing a system as it’s usually not very interesting and only serves to increase the amount of work you have to do. Still it is so fundamental to get these things right from the get go that it still shocks me how many multi-developer companies manage to let things like that slip through the cracks. Perhaps it’s just my system administrator background that’s made security such a primary focus for me but really it should be one of the prime considerations for anyone looking to build a system with users on the Internet.
I don’t think I’ve gone a few weeks without having to catch my heart in my throat when I see a new web service that closely resembles Geon. A year ago I had the confidence that no one was doing anything like what I was thinking of and as such the target audience I was going after was all mine. More recently though there have been a few services that began to encroach on my territory but for the most part they were far enough away that I could write them off as filling a different niche. This morning however saw a product come out that is basically identical to the core concept of Geon’s idea of “What’s going on there?” so you’d think I’d be sitting here wringing my hands with worry.
The thing is though I’m chomping at the bit to beat them at their own game.
This isn’t the first time a location based communication app has managed to cross my path. The first such one was called BlockChalk, an interesting idea about leaving messages around your block for other people to find. They appear to be quite mature as well, their iPhone app is solid and they even have an API that’s pretty open. I initially stumbled across them in my first search for data feeds that had geo meta data in them and almost lost it when I started browsing the service. Still they’ve been around for a while and they didn’t appear to be garnering a lot of trafficor media attention nor did they have some of the capabilities that I was planning to integrate into Geon. They’re on my watch list (especially considering the talent they’ve managed to rake in) but in reality they just proved that there was a market for something like what I was developing, always a good sign.
Qilroy, a Qualcomm Service Labs-incubated project, launches today as a platform that groups tweets and other status updates by location. Like “calling a payphone at the mall,”Qilroy introduces a concept called peer-to-place communication, which enables multi-platform conversations to take place from anywhere in the world.The name is a Qualcomm take-off of “Kilroy Was Hereand the service lets users share their location with others and also see a visual of all the conversations happening around any location. Users can type in any zip code or place like “The Eiffel Tower” or “Athens, Greece” for instance and interact through the Qilroy platform, Facebook or Twitter with anyone in that location who is sending open updates from Twitter, Foursquare or Gowalla.
Aggregating information feeds based on location? Allowing users to post messages to a location? Yep either this is a case of finding independent inspiration or someone has been reading my blog over the past couple years and implemented the idea quicker than I could. I’m tending towards the former though as the service shares many core principles that I’ve discussed on this blog previously but there are several differences that separate us. Most notably they’re looking a lot like Twitter, opting to farm out the additional services (like picture hosting) to others in order to keep their service simple. They’ve also made the smart move of letting you start conversations through other mediums in Qilroy which will break down the initial barrier of getting a user to install yet another application. I’d say it’s a decent attempt at the location based communication idea (despite its launch day woes) and I can see people using it.
But don’t think that means I’m giving up on Geon. In fact this has made me more convinced than ever that I’m onto something, and that it’s the best out of the lot.
I’ve been keeping the latest version of Geon on the down low for a while now, alluding to the fact that I had completely dumped the last design (there’s a picture of it somewhere on this site, see if you can find it!) and codebase in favour of revamping it with a focus on the core idea of finding out what’s going on at a certain location. It’s come along quite well with many features that I’d put off for a long time now in the application and functioning as expected. In fact the web client is almost complete at a core level meaning that I’ll be working on the iPhone application in the next week or so with a private beta to follow shortly after. All I really want to say at this point is that whilst I may have solid competition in the form of BlockChalk and Qilroy I know can beat them at their own game. Their presence confirms that my idea has a tangible market and that only motivates me to do more.
So my competitors, even though I know you probably won’t see this post until long after I’ve launched my application hear this: I’m gunning for you. I might not be the best developer, best business manager or best anything out there but I’m determined to build this product that’s been rattling around in my head for almost two years. Anyone who knows me will tell you that if I’m determined to get something done it will happen, by hook or by crook and I’ll be damned if anyone other than me becomes the king of this location space.