ailon's DevBlog: Development related stuff in my life

4 reasons to care about mainstream media attention even if you don’t care

4/24/2014 8:29:00 PM


I was invited to speak at an Open Coffee Club Vilnius event today and apparently made into an expert of getting media’s attention :) I guess the above slide from my pitch deck is to blame…

Anyway, I talked a lot about getting attention from specialized media from your industry, but forgot to mention more “mainstream” media. The definition of mainstream varies depending on what your company does. For us something like TechCrunch is mainstream, for others it could be extremely specialized. In any case for quite a long time I maintained an opinion that we don’t care about mainstream media since our product is pretty niche and caring about mainstream is like using a sledgehammer to crack a nut. (thanks again, StackExchange)

But over time my opinion has changed. I still maintain that you should care about your industry’s media way more, but there are real benefits to being mentioned by the mainstream. Here are a few…

Not all of your potential clients are as into your industry as the top enthusiasts

Being deeply involved in something we surround ourselves with a bubble. We think that everyone who cares about Windows Phone development follows a #wpdev hashtag and, at the very least, reads WPCentral. Unfortunately not true. We’ve had numerous users telling us that they first heard about us from way more “mainstream” sources.

Quite often your potential partners and/or investors don’t come from the same industry specifically

I’ve recently received an email from a potential well known partner (who should remain nameless for now) who has nothing to do with Windows or Windows Phone specifically. The email started “I’ve come across your company multiple times…”. I can assure you this wasn’t in specialized media. And that is not the first and not the last case when I felt the value brought by mainstream media in this sense.

Even people who should read the industry blogs quite often don’t

It wasn’t a single isolated case when someone related to Windows Phone and working at Microsoft and/or Nokia responded to my introduction with something like “oh, yeah, I’ve read about you on Forbes”. My initial internal reaction is “dude! You should have heard about us from WPCentral or even partner directory in the Dev Center”, but I’m still happy they’ve heard about us even if I feel like it wasn’t from the right source (considering their occupation).


It’s funny, but being mentioned in a blog hosted on gives you a big credibility boost even if it actually doesn’t mean much to those “in the know”. I know that I was invited to participate in things not [only] because of things I know and can share, but because “this is the guy quoted by The Verge”.

These are only a few reasons I could come up with on the spot. I’m sure there are way more. But I’ll leave that task to you. It’s more fun that way.


Non-fiction books I’ve read in 2013

12/31/2013 4:23:06 PM

One of my New Year Resolutions last year was to read 10 non-fiction books in 2013 and I’m happy to report that I’ve failed. Well, only by one book though. And a little cheat. So here’s the list:

  1. Predictably Irrational, Revised and Expanded Edition: The Hidden Forces That Shape Our Decisions. This is the little cheat I’ve mentioned. I’ve started this book last year, but finished it in January. So I guess it counts, right? This is a very good and a highly recommended book. It is both informative/interesting and just plain fun to read.
  2. Getting Results the Agile Way: A Personal Results System for Work and Life. I was thinking about sort of improving efficiency of my professional and personal life and this book came recommended by someone. While the ideas and concept in it sounded potentially good, I just couldn’t stand the writing style. It was terribly patronizing with a lot of repetition. It felt like I was in the army or just plain stupid. So I gave up half way through.
  3. Getting to Yes: Negotiating Agreement Without Giving In. One of my worst nightmares is shopping at a middle-eastern bazaar. Yes, I can’t bargain. So I decided I need to read something on negotiations and this book sounded intriguing. And it was really good. I actually plan to reread it paying more attention to actual methods, tips and tricks.
  4. The Upgrade: A Cautionary Tale of a Life Without Reservations. OK, this is as close to crossing to fiction as a non-fiction book can be, but who cares. The premise is that Paul Carr figured that for the money he spends living modestly in London he can live pretty much anywhere in the world. While this looked like it’s going to be a “lifehacking” book, it ended up being a crazy, alcohol-induced rollercoaster. A real fun to read nevertheless. I’ve learned at least one lifehack from it too – how to iron clothes while traveling. :)
  5. Who: The A Method for Hiring. While I’ve participated in the hiring process a few times in my life, I haven’t done much hiring myself. And then I needed to hire quite a few people. So I realized, I need help and this book looked like the best option. It definitely delivered on the subject matter, but it was a little annoying in a way, because the authors tried to productize this thing (like “Lean Startup”, etc.) It’s not a bad thing per-se, but it doesn’t add much value to the content while adding some useless stuff around it.
  6. The Startup Owner's Manual: The Step-by-Step Guide for Building a Great Company. Steve Blank’s books are considered must-read for anyone in startups, but I refused to read them for a while because they weren’t available in the ebook format and I promised myself not to buy any more paper books a few years back. But now it’s available on Kindle so I had no excuses. The book has a lot of useful content, but I didn’t realize at first that it’s basically 3 versions of the same book in one (1 generic, 1 for startup founder (or something) and something else I forgot). So I read the generic version first and then realized that the version I was supposed to read comes next, but was too lazy to basically read the same thing again.
  7. Steve Jobs. I’m not a big Steve Jobs fan, but even I knew most of the things in this book. For an official biography with unprecedented access to Jobs himself, I think this book is pretty weak. No, it’s not bad. It’s just sort of meh.
  8. In The Plex: How Google Thinks, Works, and Shapes Our Lives. Now this is a book about Google and it’s way more interesting than the Jobs’ one (IMHO). It was very interesting to read and I found quite a few ideas and thoughts I’m going to use myself, even though I didn’t expect anything useful from a book like this.
  9. Start-up Nation: The Story of Israel's Economic Miracle. This is considered the de-facto business book about Israel and since I was there 2 times in 2013, I decided I need to read it. I expected it to be more about startups, but I’d say it has more to do with Israel’s history through the prism of entrepreneurship than startups as such. In any case it is really good and makes you think about why things are the way they are both in Israel and around you (wherever you live).

That’s it. It feels like 10 non-fiction books a year is a good tempo for me (I’m alternating them with fiction) and I’d like to read another ten in 2014. Will report back in a year.


How to Lose $900m on Surface 2

11/16/2013 3:19:38 PM

Disclaimer: I have this paradox in my life – my Apple-equipped friends consider me a Microsoft shill, and my Microsofty friends think that I publicly whine about MSFTs problems too much. This is going to be one of these whiny posts, but I do it because I care and don’t know where to send it privately.

So we had these sweepstakes


The main hook of this campaign was that we have launched it in early September, when neither Nokia nor Microsoft would even acknowledge that they have products with these names. So the contest is over now and we are ready to award the winner. Lumia 1520 is not widely available yet, so the obvious decision was to have Surface 2 as the main prize. I’ve checked and learned that the Irish store ships to Lithuania (where we are located), so I was calm that we can always ship it to ourselves first and then mail it to anywhere in the world.


But we wanted to randomly pick the winner first and then, depending on his/her location, determine the best way to get the Surface to them. After all, if the stars aligned so that the winner was from US, it would be much easier to ship the prize directly to her. The winner has been selected, but not announced yet. <SPOILER ALERT>He is not from US or any other Surface 2 launch countries.</SPOILER ALERT>

So having this information we decided that the most logical approach would be to buy the Surface 2 in the Microsoft Store Ireland, ship it to Lithuania and then ship it to the winner.

And that’s where the problems started…

At this point I’ve spent at least 5-6 hours trying to order a fricking gadget from an online store.


I just went to, switched to United Kingdom, added Surface 2 to my cart and proceeded to checkout. There I selected Lithuania in the list of Shipping destinations and fill out the form. When I clicked Next I was presented with this “Include postcode” error. I’m absolutely sure this is the right postcode. Sometimes people include LT or LT- in front of it, so I tried that – no luck. Tried to enter some real UK postal code (just to check) – still nothing. So I went into the help section to try to figure out what’s going on. And there it said:

Where we ship:

Microsoft Store United Kingdom can only ship to United Kingdom locations at this time.

Hmm… OK. So why exactly do you have Lithuania in the shipping country dropdown? And it’s not like they have all the countries in the world in it. There are like 20 European countries in that dropdown.

While I was looking at the screen puzzled, a popup appeared asking if I’d like to chat to a live support person. Sure! So I started to chat to a person who was really trying to be helpful while I was trying to do something to that form. Unfortunately I did something that forced the page to refresh and my chat window disappeared. The funny thing is, that day I wasn’t able to find how to start this support chat again. Another person confirmed to me that chat button appears and disappears pretty much randomly. Seriously :)

The next day I remembered that I’ve seen that Irish version of the store ships to all European countries. So I went there and … hit the same “Include postcode” error again. What does a geek do when he sees a validation error like that? Hits F12, of course. This is obviously beyond what a normal person would do to pay someone money, but anyway…

So after some research and trial and error, I figured out that the form expected Lithuanian postcode to be a 4 digit number. This would even be correct… if it was like 1997. Anyway, I presume that local post, FedEx or whoever would be handling shipping could figure out the real postcode without the first zero, so that’s what I did. “Yay, I’ve hacked the system!”, I thought. “Not so fast!”, said a voice from above.

Next step was to enter my credit card information. I did just that, hit Purchase and was presented with a message that there were some technical problems and I should contact technical support. I’ve tried that a couple of times and all the times the site was able to successfully reserve 1 Euro in my account, but not sell me the damn tablet.

OK, so let’s try to contact technical support and order the thing via phone or email. Here’s how support page of the Irish store looks:


Notice this nice 800 number? It’s great that Microsoft have a free sales line, but have you tried calling it from outside of Ireland? Right, you can’t.

By that time I was already pretty upset (as you can guess) so I started venting on Twitter. @MicrosoftStore on twitter really tried to help and gave me an idea that maybe I should call a Lithuanian support line, not Irish. OK, let’s try that… Unfortunately, Lithuanian Microsoft Store doesn’t sell Surfaces and they weren’t able to help me with my issue.

I was hoping that I can send all the info to some support email and consequently avoid this post altogether, but @MicrosoftStore informed me that there’s no email support. Huh?

I’ve been in and out of the Microsoft Store Ireland site and this time the “Live chat” button appeared. I’ve started chatting with one person, explained my problem, was transferred to another person who was really polite and tried to help me with all the suggestions from the guide book that I’ve already tried (obviously). After almost an hour of back and forth the person suggested that I shouldn’t chat to her but to someone from Irish support and provided me with a link to the Irish Microsoft Store. o_O Excuse me, but that’s exactly where I clicked that “Live chat” button! So I gave up on “Chat support”.

I’ve talked to some people from Microsoft (not Store related) and they suggested that I should definitely be able to order it via the phone (and apparently some people already did that). The trick is how to get to the phone sales when the number can’t be dialed? So I called that other phone “Questions about Microsoft products bought elsewhere”, got to the switchboard and asked them to connect me to the store. And it worked!

The sales rep was really nice and helpful and offered to call me back, so I don’t waste my precious Skype credits :) It took him a few seconds to confirm that he can sell Surface 2 to Lithuania. “Yes, we can definitely ship that Surface 2 to Lithuania!” Hooray!

So for the next 15 minutes we proceeded to try and enter Lithuanian street names, etc. over the phone. Not an easy task but we’ve managed…

- Hmm… it tells me that the postcode is not correct…
- Oh, really!? ;) You can try removing that first zero, I think it will be OK without it
- Yes, OK, we are good. How do you want to pay?
- Visa
… (confirmed CC number, etc.) …
- Hmm… Just a minute, please, while I try to figure a few things out

- Hmm… Just one more minute, please

- Let me call you back in 5 minutes, OK?
- OK, thank you very much!

… and he didn’t. And that’s where I’m at as I write this. The only reason I got to that point is that I really need that Surface 2 specifically. No sane person would go through all of this just to buy one of the hundreds of tablets that are available on the market.

In conclusion

When in 2010 Microsoft announced that they will only accept Windows Phone developers from about 30 countries, I was upset and whined about it, but at least I wasn’t given any false hope (which is always worse than hard truth). It was unambiguous. It was a strategic decision that I didn’t like, but it was clear.

Lithuania wasn’t a launch country on the consumer side of Windows Phone 7 either, but you could buy an HTC Windows Phone 7 through most of the local carriers (meaning it was officially available). Windows Phone 7 didn’t have a Lithuanian UI (which is not an uncommon thing here), but a crazier part is that it didn’t even have a Lithuanian keyboard. You just can’t release a consumer product like that.

When Surface 2 was announced, Lithuania, obviously, wasn’t one of the launch countries. And I’d be completely fine (not happy, but used to) not being able to purchase it through official channels. But then they decide that maybe we can hack a form together and sell it to 20 more countries without even trying to go through that form once with a real address. Hint: you can almost always find a Holiday Inn (or other chain hotel) in most places in the world and see that it has a 5-digit postcode in Lithuania for starters.

I wanted to end this with a Dilbert comic strip which shows a “company with strategy” that picks up a phone and just says “We don’t do this!”, but I couldn’t find it. (maybe it wasn’t Dilbert?) The point being, it’s a paradox, but Microsoft could’ve saved me almost a day by just saying that they can’t sell me the Surface directly.

Tags: , ,

CPA, CPC, CPI… it’s all a big lie

8/21/2013 5:29:00 PM


It’s an advertiser driven market out there. Meaning that there’s more ad space on the web and in mobile than there are ads to fill it. And what were advertisers always dreaming of? They only want to pay for results. So when someone advertises a product they want to pay only when someone buys it. If you have an app, you only want to pay for the downloads. A service? Pay for subscribers. And so on and so forth. Worst case acceptable scenario – pay for clicks. At least they’ve acted on my ad! We finally have a way to track these things. I’d argue that we tend to give that tracking thing too much credit, but that’s another story.

But if you look at the other side of the fence, publishers, ad networks, developers never think in CPC or CPI. They always think in CPM. Even if they have to agree to sell you on the CPI basis, they will always measure their own results in effective CPM. And even if they agree to your CPI rate on the first run, they will look at what eCPM it brings them and react accordingly.

What does it mean for you as an advertiser? Any reasonably smart bidding-based system (AdWords, Facebook, etc., etc.) doesn’t rank your campaign ads based on your CPC bid, but rather on the resulting eCPM. And “human-based” systems are pretty much the same. So, if your CPA campaign results in poor eCPM, they will either raise your rates or just refuse to continue dealing with you (in case you are beyond saving threshold). On the other hand, if the publisher is happy, it most likely means that you are overpaying for the service. Even when they are desperate and don’t kick you out despite poor performance of your campaign, it’s likely you’d get an even better rate on the CPM basis.

So what I’m getting at? Any product has a minimum reasonable price. In this case the product is ad space and the price is measured in CPM whether you want it or not. So the only way for you to control the destiny and the price of your campaign is to buy it on the CPM basis too. In this case it will be you who evaluates the effectiveness of an advertising platform. Yes, it may cost you more for the test run, but after that you know your metrics. You may find out that you are paying a lower CPA than you were planning too. And even if results aren’t satisfactory, you can negotiate better rate in terms that are clear to the other side. Or you can just decide that this is not the right platform for you and focus your precious time and energy on those that work.

In any case, buying on the CPM basis you control your advertising, buying on the CPA you only control your advertising expenses.

Tags: ,

Could this be the first Google Glass game?

5/7/2013 2:20:50 PM

I’m not sure if Google Glass already has specialized games or not, but a game my friend has just released – The Howler – has got me thinking. Check out this short video demo and decide for yourself.

Yes, you will look like a complete dork from the side, but aren’t people getting Google Glass going for that dork look anyway? Even the International League of Anger Managers recommends it.

Anyway… Even if not for Google Glass this game looks fantastic – it features amazing art based on the sights of my hometown of Vilnius, Lithuania with that darkish steampunk(?) look. And the craziest thing is that all of this art was made by the artist who has probably never used a PC. All of these beautiful images were hand drawn on paper. I can imagine the originals going on my wall, but I guess I won’t be able to afford them once this game becomes a cult item.

Check it out:




The gameplay is casual and fun. Your goal is to pick up and deliver a package using an air balloon or some other contortion, which you control by either touch or voice. You have to consider wind currents and other obstacles. And you can blow them up just by screaming “UGGH!!!”. It’s a fun and sometimes challenging game, but even if you are not into this kind of game it’s worth getting just for the crazy awesome and unconventional art.

Available on iOS and Android (via Amazon).


Microsoft Should Promote an iOS Game

2/7/2013 5:09:26 PM

Angry Birds came to Windows Phone a year late (or something), Instagram is still not there, etc.. It doesn’t matter that there are other alternatives, it’s a status, validation thing. iPhone and now Android users always looked down on us, Windows Phone users, and bragged that they have the Hip App X, but we don’t and that they had the Fun Game Y 3 months before we got it.

But guess what? Things are changing. Even if slowly. A few weeks ago I had an experience at a semi-drunk party where people came up with an idea of having their faces “ugglified” by some real time phone app and the app in question was CamWow. Surprisingly (or probably not) it worked better on my Lumia 920 than iPhone 4s and 5. I’m not sure what was better, but my iFriends wanted to look ugly on my phone rather than theirs. And another friend with Galaxy S3 was sitting silently in the corner. There’s no CamWow for Android. Now I’m pretty sure there are other similar apps on Android, quite possibly they are even better. But you know what? There are other photo editing apps on WP, some even better than Instagram, but Instagram is a status thing and I get it.

There are also quite a few physics games on Windows Phone. At least one of them is better than Angry Birds, in my humble opinion. The game is called Krashlander and it has been available on Windows Phone since day 1. Now – 2 years 3 months and some days later – it makes it’s debut on iOS and our iPhone friends can finally enjoy what we have finished 2 years ago. Good for them! Go get it.

I think Microsoft should make a bold move and promote Krashlander for iOS. I’m sure this will never happen, but a TV ad saying something like “The Windows Phone hit game comes to your iPad, finally.” would be very cool and show that times are changing.

In any case go get Krashlander on iOS or Windows Phone (if you managed to miss it somehow) and you are welcome.

Tags: ,

Public App Feedback #1: Nextgen Reader for Windows 8

1/29/2013 6:03:22 PM

I’m going to try something new. There are quite a few apps that I use very often and like a lot, but obviously I have a few things I don’t like about them or some minor things I miss. I was meaning to send feedback to developers of these apps for a long time, but couldn’t find the time/willpower.

At the same time I promised myself to blog [almost] daily. So I thought I can shoot 2 of these goals with one shot. Hopefully this feedback is valuable not only to the developers of said app, but other developers too. If not, just let me know in the comments below and I’ll consider shutting down this new “section” of this blog.

To be clear, I’m only doing this for great apps that I really like, so you can consider these feedback posts as my endorsements of the apps. I have no interest in providing feedback for crappy apps (well, unless I have some special feelings towards the developer ;)

Nextgen Reader for Windows 8/RT

The first app in this series is Nextgen Reader – an RSS reader (Google Reader client). I’ve tried quite a few of the feed readers. Some of them were more “powerful” than Nextgen Reader, some offered more “innovative” approach to reading RSS feeds, but I prefer the straightforward approach of Nextgen Reader.

That said I had a love/hate relationship with the app for some time because it wasn’t very stable a couple of minor versions ago. At some point it was crashing too much and I thought I had enough. So I switched to Feed Reader which is another great reader even though I don’t like the UI all that much.

It seems that after an update a couple of weeks ago Nextgen Reader stopped crashing (at least didn’t crash on me yet), so I’m back to using it as my primary reader and here are things I don’t like or miss…

Do we need 2 modes?

Screenshot (6)Screenshot (7)

One of the “killer” features of Nextgen Reader is support for 2 modes: “classic” which is close to Google Reader or Mail app or something you would expect a feed reader to look like (left); and “modern” which looks like People and other Windows Store apps with large panels for each feed item.

I assume the first is aimed at keyboard-mouse users and the second one at touch users? Honestly I don’t know which one I prefer. And most importantly I don’t hate any one of them. I could’ve used one or the other just fine. The presence of 2 modes just adds confusion and wastes my brain cells when I think about switching (or not switching) to the modern mode on every launch. I’m pretty sure it also wastes precious developer time. But I guess there are people who feel strongly in favor (or against) one or the other. So dropping one of them now could result in a public outcry.

At the very least there should be an option to pick the mode it launches in. Or better yet just persist the mode between launches.

OneNote-like collapsing of hierarchy

Another annoying thing is that in classic mode all 3 columns (feed list, feed post list and content) are always visible. This is not a big deal when used in full screen mode, but I mostly have a Tweetro snapped to the side when reading feeds and all 3 columns suffer:

Screenshot (8)

I really don’t need to see the feed list column when I’m reading 20 articles in a particular feed. The list should be collapsed. Most of the other RSS reader apps do this. Even craptastic Mail app does it. And OneNote does it beautifully.

Wider reading pane in “filled” mode

Hierarchy collapsing would allow for content pane to be wider in classic mode and there’s no reason for reading pane to be as narrow in filled mode as it currently is.

Screenshot (9)

Just make it wider.

“Open in browser” is behind ellipsis in “classic” mode

When I read a post and want to read the comments or post my own I’d like to go to the website in a browser. In “modern” mode the “open in browser” button is front and center (top left, actually ;) (see the screenshot above). For some reason in “classic” mode the “open in browser feature is hidden behind an ellipsis

Screenshot (11)

There’s more space in that top bar to fit it even in the filled mode. And I sync once per reading session and wouldn’t mind going to that sub menu or app bar to do that, but I’d love to be able to open the post in browser without that extra tap.

Video resizing

New version resizes images to fit the reading pane. That’s great. It would be great to do the same for videos (at least YouTube) and I think it’s pretty easy to do.

Screenshot (13)

Part of the video doesn’t fit and YouTube’s HTML5 player craps out a little when it doesn’t fit into the screen.

Sync doesn’t load feeds that had no posts

And finally a minor bug report. It seems that after you’ve read all the posts in a feed syncing doesn’t load new posts for that feed.


That’s it. As you can see most of my issues are pretty minor and otherwise Nextgen Reader is an awesome app. Highly recommended.

Tags: , ,

The End of Post-PC Era

1/23/2013 6:57:59 PM

Photo by Yutaka Tsutano

In 2010 Apple introduced the first iPad and basically created a new segment of devices – tablets. iPad wasn’t a full PC replacement (and still isn’t) but was considered a big step towards the real post-PC era. It wasn’t unreasonable to think that at some point in the near future iPad (and possibly similar competing products) would replace PCs for most purposes, except maybe some very specific areas. That said, to this day it’s pretty much inconceivable for someone who ever really needed a PC to be able to get by without one. Starting with school kids, to students, to “knowledge workers” its either impossible or, at the very least, less productive to use a tablet instead of a PC.

Android device manufacturers tried to compete with Apple on the similar 10” field and pretty much failed. Then they moved down to the 7” form factor and things started taking of for Android tablets. 7” tablets don’t have an ambition to replace PCs. They know their niche as a portable universal consumption devices and are fine with it. It’s possible to imagine doing actual work on a 10” device, but 7” is definitely out of the question. Steve Jobs famously dismissed 7 inch tablets as dead on arrival, but in 2012 Apple caved in and released iPad Mini. All the people I know personally and virtually who owned a big iPad and bought an iPad mini love the little one and basically stopped using the 10” tablet.

People love their 7-8” tablets and I take it as vote for placing tablets in a special separate niche (like mp3 players) and abandoning the ambition of dethroning PCs as the most important computing devices. And larger phones are pushing the tablet category from the bottom with 5”+ phones making 7” tablets irrelevant for their owners.

As of today I think there are 3 categories of potential tablet users:

  • people who never needed PCs (mostly elderly people) or who don’t need a PC yet (small kids)
  • people who actively dislike large smartphones
  • people with first-world-problems (aka excess money)

Everyone else is pretty much set with a large-enough smartphone and a PC. Agree/disagree?


Introducing PhoneNameResolver–a lib to decipher Windows Phone models

1/21/2013 8:31:54 PM


On Windows Phone you can get information about device’s manufacturer and model using Microsoft.Phone.Info.DeviceStatus class. Unfortunately the results you get do not always represent model names people are used to (see the screenshot above). To make matters worse same models made for different network operators quite often return different values. Additionally returned value quite often changes between batches of the same model. With Windows Phone 8 Nokia went one step further and introduced so many variations of the model name that it became extremely painful to account for all of them manually. That’s why I decided to dedicate a few hours on a weekend to make a small lib that helps with this problem.

PhoneNameResolver (released under MIT license) is a very simple static class that has only one public method called Resolve(). You pass the manufacturer and model name from the DeviceStatus and it returns an object of type CanonicalPhoneName which contains resolved “canonical” (official and/or widely used) model name.

Here’s a sample:

var phone = PhoneNameResolver.Resolve(
    DeviceStatus.DeviceManufacturer, DeviceStatus.DeviceName);
SomeTextBox.Text = phone.FullCanonicalName;

CanonicalManufacturer and CanonicalModel include manufacturer and model separately and are always set. In the case the lib wasn’t able to resolve the model they will be set to the same values passed to the method and IsResolved property will be set to false.

At the moment the lib resolves Nokia, HTC, Samsung and LG model names. The reported/canonical value pairs where collected from public unofficial sources so there’s absolutely no guarantee in the accuracy of the results.

The lib is basically a single C# file and all the model name definitions are included in the same file. I did this to make it extremely easy to just drop the file into your project and to make it work as fast and as config free as possible. That said this is probably not the best architecture to update model definitions without recompiling an app. I’m still open to ideas and this may change in the future. Please let me know your thoughts in the comments below.

Tags: ,

2 Years of Entrepreneurship

1/18/2013 3:39:00 PM


Well, actually I’ve been doing something like entrepreneurship for the past ~14 years, but the last 2 mark the first time I went all-in, hence the title.

This write-up is mostly for my future self. It’ll be interesting to read this in a few years and compare to my thoughts/experiences on the subject. You are more than welcome to tag along, though. If you have any thoughts or arguments either in agreeing or disagreeing with me, please, do not hesitate to express them in the comments.

On starting up

iStock_000011756085SmallI had an idea for AdDuplex in December 2010. There’s nothing radically new about it. That said, for some reason, no one thought of it at that time (at least as far as I know). Anyway, I decided to scratch my own itch and implement it on Windows Phone. Some thought (and probably still think) I was stupid not to jump to iOS and Android immediately once I got proof that developers really needed and liked a service like this. Some also said that should’ve moved to Silicon Valley immediately and I would’ve been “golden” by now. Well, I didn’t and I didn’t.

I think the most likely outcome of both moves would be either dying because of money running out before we get to something meaningful across all the platforms, or, in case I managed to secure enough funding to start, being forced to “pivot” to something that has a better theoretical chance of becoming “a billion dollar company”. More on that later. Anyway, I’m enjoying being an important part of the Windows Phone and now Windows 8 ecosystems. And I like living in Lithuania. And we will see about that summer house in California ;)

One thing that really helped me start this was the fact that I had reasonable semi-passive income from now defunct .NET part of amCharts. Ironically other 2 big pushes came from really bad news from Microsoft. First one came in a form of only 30 countries “allowed” to develop for Windows Phone. This is now resolved, but If not for that blow I would probably be developing some mediocre WP apps at the moment. Another big blow came right at the time I’ve started seeing traction with AdDuplex. At the first Windows 8 announcement event Microsoft has famously “forgotten” to mention WPF/Silverlight or any other XAML/C# based development technology as a platform to create Windows 8 apps. This resulted in the sales of our (amCharts) WPF/Silverlight controls dropping to virtually zero. It was a clear signal that I needed to find a new occupation and a source of income ASAP. So I jumped from being 50/50 involved with AdDuplex and amCharts to something like 90/10 and then going all-in with AdDuplex.

As I mentioned having a passive income was very important, so I think you should always think about having some passive income so it’s way easier to jump aboard your next crazy idea. Check out The 4-Hour Workweek for some ideas on this. In case you don’t have that, but itch to start something, I think its more productive to stay at a 9-to-5 job and moonlight, than trying to mix entrepreneurship with some consulting work. I’ve tried to do that for more than 10 years and it never actually worked out. Both sides suffer, but the startup side suffers more. Consulting brings real money in after all.

There’s always an option of getting an investment for your startup. Good luck with that. Unless you have a Name or are a world class bullshitter this is a waste of time in the very early stage, imho.

On being a solo founder

Right when I had the idea and got unreasonably excited I’ve shared it with a fellow developer (who should probably remain nameless). He tried to cool me down by saying he doesn’t think it’s such a good idea, and even if it is, we would be blown away by the big boys once they figure there’s something in it. My next several attempts to “recruit” co-founders failed in a similar fashion. I guess it’s the main (only?) disadvantage of being a startup founder in mid-thirties – most of the people you know have families, mortgages and other commitments, and their minimum viable income expectations are much higher than when they were 10-15 years younger.

Anyway I decided that enough is enough and I’m not going to look for co-founders just for the sake of it. There was a limited list of people I’d like to team up with and I’ve exhausted it. And, after all, I thought I had everything needed to for the first step – I can do the server side myself, I can do the SDK on my own, and I have a sense of “ugly”, meaning I know that if I really try to Design something it will end up ugly, so I should keep it simple.

They say being a solo founder is hard. There’s no one to kick your butt when you are slacking off. There’s no one to say something optimistic when you think you are screwed. Etc., etc. Well, I don’t see this as anything tragic. Sometimes it actually is really productive to slack off a little. No matter how counter intuitive this sounds. There’s also a benefit of having no one to fight for “who deserves more” and there’s only one “because I said so”. Decisions are way easier to make. Sometimes even dangerously easy. In any case I think there are obviously cons of being a solo founder but there are pros too. Definitely nothing tragic about it.

On investments/investors

iStock_000013909045SmallMy idea of a perfect business is something in the middle between what VC world calls “lifestyle business” and “a billion dollar company”. In other words I’d rather run a $10m 5 person business, than a $500m 300 people company.

Unfortunately in my experience most of the Silicon Valley crowd is anally fixated on the “show me how this is a billion dollar company?” question. And by Silicon Valley I don’t mean the exact location in California (even though it is in high concentration over there), but places all over the world trying to replicate SV. The question is totally understandable for large VC funds. This is how their mechanics work and it’s fine. But all the lower levels of the ecosystem are very focused on how you are going to raise your next round, therefore everyone looking to invest $10k is asking the billion dollar question. Some people tell me this is not the case and there are lots of investors who don’t care about that and “I totally see you being acquired for $50m”, but immediately follow by “but we only care about $100m+ opportunities”. Anyway I’m obviously exaggerating and I don’t have enough experience in this since I never seriously looked for an investment, but from the limited experience that I had I came out with this takeaway. Take it or leave it.

I came really close to getting a sort-of institutional Angel/Seed investment once. As close as having all the investment papers reviewed and negotiated with lawyers, but things fell through in the end due to something you could probably call force-majeure. I had a technically less attractive (from pure economics) offer from my friend/previous business partner on the table, but I wanted to get a more “formal” investment at that point. One of the reasons I wanted that, was my belief that having an outside investor would indirectly introduce more discipline in my solo act.

Anyway, I ended up getting that FFF (friends, family and fools) investment. The reason I need it was that half a year after I’ve started I found myself deadlocked most of the time. I was a developer (server and client), designer (ahem), marketer, sales person, support and everything in-between. Once this thing has taken of I couldn’t perform any of these things effectively. I was making some money. More or less enough to feed me, but not enough to safely hire someone to help with some of those functions. So I needed a buffer to get to that next level. And I got it.

On hiring

So far at AdDuplex I’ve only hired one person, so not much wisdom I can provide here. That said I ended hiring based on cultural fit over (perceived) competence more than a year before reading a post by Brad Feld of the same title. I’ve interviewed 4 people. All had very similar salary expectations. I ended up hiring the youngest guy with less experience on paper, but the one my hunch told me was a right fit. I’d be lying if I didn’t see the most potential competence in him over the other 3, but most likely the decisive factor was the fact that he just felt like the best fit. One year later I’m totally happy with that decision.

On accelerators

Once I’ve got accustomed to people calling what I’m doing a startup, I started paying attention to startup accelerators. Not that I ever seriously considered setting going to one of them as my goal, but I’ve sent a couple of half-assed applications to TechStars and some others. In late 2011 I’ve learned about Startup Sauna and applied (again half-assedly) via their referral track. Needless to say half-assed applications don’t get you invited. When Startup Sauna had their warm-up in Kaunas in early 2012 I applied and prepared more carefully. My reasoning for doing this is documented in this post. Long story short, we’ve got invited to the final program, traveled to Silicon Valley and talked to a ton of smart people and investors (smart people too ;). It was great and it was a great way for introvert technical geeks to expand social horizons dramatically, learn a few things about running a business and get a real life experience pitching your product to real investors.

In short, I think if you can get into a great accelerator like Startup Sauna you shouldn’t think twice. It really does accelerate things for you. Even if the thing it accelerates is failure, it’s still a good thing. “Fail fast” and blah blah blah.

On networking, PR and marketing

One of the main realizations over these 2 years was that personal connections are as important in the capitalist community of the 21st century as they were in the Soviet economy of the 20th. Great product is as important as ever and likely more important than it was in pre-internet days, but lack of visibility could be more tragic than before too. The main asset of PR agencies (besides the ability to write boring press releases with stock CEO quotes) is personal connections to media. If you start working on your connections after you launch your product its probably too late and using a PR agency is probably the easiest way to get in front of the media.

Luckily for me I loved Twitter way before I could so conveniently claim that I’m using it for work ;) For an introvert geek like me Twitter is an awesome tool and the channel I made most of my personal connections through. That said real life interactions help deepen the connections you make on Twitter and this is one of the things I wish I realized sooner. I was averse to the idea of going to social gatherings, conferences and such, but I’ve started changing my outlook on it and I can even say I started liking it recently. Obviously the process is long and you have to go through a phase when no one knows you anywhere and it’s really boring and even depressing, but as I said, this is the large part of this entrepreneurship thing and not doing it handicaps your business in a pretty major way.

I have a whole post on the subject of networking for the geeks like me. Hopefully I’ll get to posting it soon.

On travelling

I didn’t count, but I’m pretty sure I’ve travelled more over the last 2 years than in the previous 35. It’s amusing to see how my own view on the travels changed. Just a few years ago I would thoroughly prepare for each trip I take. I would be puzzled by the lack of desire from, say, conference speakers to go sightseeing during their trips. I’m not at that point yet, but I already feel that quite often I have to force myself to go check out the surroundings during one of such trips.

It also takes its toll on vacations. The thought of going to some all-inclusive-lazy-laying-by-the-pool resort was nauseating to me just a few years ago. Now this is my most coveted type of vacation. Second only to not going anywhere at all.

On growth

We are at a point again, like I was a little more than a year ago, when we just have too much stuff to juggle for just the two of us. Again, we are making enough money to carry on with what we do, but not enough to expand comfortably. And I’m confused as for what to do next. Should I look for investment? Should I double down on the money making side of the business even if it means sacrificing the growth? These are the questions I have opposing definitive answers to every time I wake up in the morning. Oh, well, uncertainty is probably the most certain thing about entrepreneurship.


Anyway. This was probably the longest blog post I’ve ever written and I should wrap it up and go do some real sh*t. Overall I’ve enjoyed the last 2 years very much and wouldn’t change anything for the world. I’ve been out of the real job market for too long (12 years) and I don’t think I want to go back anytime soon or any time at all. So, I love what I’m doing and this what I hope to be doing until I get rich and lazy (not that I ever wasn’t lazy) or until I die trying. We’ll see how it goes.

Tags: ,

Copyright © 2003 - 2018 Alan Mendelevich
Powered by BlogEngine.NET