ailon's DevBlog: Development related stuff in my life

Upcoming Trips

1/20/2012 7:26:20 PM

I’m 36 and, believe it or not, I have never been on anything that could pass as a business trip until 2 years ago. I was on 1 such trip in 2010, 5 in 2011 and in February 2012 alone I’m going to go on 4 (well, technically the “month” covers January 31st and March 1st, but who’s counting?).

So here’s a list. Come say “hi”, if you are nearby.

UK Windows Phone User Group (January 31st, 2012)

image

I will be presenting my “Developer’s Guide to Windows Phone App Marketing and Monetization” at January meeting of WPUG in London. It’s free and there was even a careless promise of a free round. Really no reason not come. Plus all you Brits get a chance to make fun of my accent too.

TechCrunch Baltics, Riga, Latvia (February 9th)

image

I was fighting my conscience on whether I should go there, but it said that I should get out of my comfort zone of hanging with developers and go and hang out with entrepreneurs, angels and VCs instead. So, here we go.

MS TechDays, Belgium (February 14th-15th)

image

After booking this I’ve realized it’s going to be the first Valentine’s Day without my wife in ~18 years we are together. But ScottGu is keynoting, so what can I do, honey!?

Mobile World Congress, Barcelona (February 27th – March 1st)

image

I was too cheap to shell out 2000+ Euro for the full pass, especially considering it mostly includes what looks like boring sessions of telco CEOs. So I’m going on an Exhibition Pass which covers App Planet (sub-)conference and it should be the most interesting part of it for me anyway. There will be some Nokia developer conference on the first day of it. Should be interesting and you have to apply for it and be approved by the organizers (I think). So will see how it goes. Looking forward to it and at least +15C in February!

Are you coming to any of these events? Comment here, drop me a line or ping me on twitter. And if you see me there, don’t hesitate to say “hi”!

Tags: , ,

Newsflash: You can’t track everything

1/17/2012 8:28:32 PM

3063463065_92724c4379_z
Photo by Konstantinos Papakonstantinou

Back in the pre-internet days advertisers could hardly track anything and they had to calculate RoI on their offline ad campaigns based on some assumptions, approximations or secondary data. They were aware that their data wasn’t accurate so they understood that all of their conclusions based on the scarce data aren’t facts, but just their best educated guesses.

These days on the internet we have referrers, cookies and other stuff that lets us track the whole path of our users from our ad somewhere, to their first visit, to the purchase of our product. Sure, quite often we can see that customer A came from site B, looked through our site, returned to it in a few days and made a purchase. Hooray!

Based on this data we start to believe that we can track everything and now we can measure RoI of our campaigns by simply comparing money we’ve spent on it and amount it generated in sales based on data provided by our tracking/analytics software. This type of measuring success is prevalent in blogs, podcasts and books on entrepreneurship these days and we are used to looking at it as the absolute truth. Because we have the data to prove it!

Unfortunately we can only track something and not everything.

Let me give you a couple of examples.

We are tracking the sales funnels for amCharts. We get pretty good data for quite a large portion of sales and can tell where they have originated. That said the most popular source of sales is Google search for “amcharts”. Yes, “amcharts”. Not just “charts” or any other generic term, but our exact name. This means that the majority of sales come from people who already knew something about amCharts. This could be someone who has heard about amCharts from a friend. Or someone who has clicked on our ad while doing chart library research at home on his iPad and then came back via Google search from his computer at work the next day. Or a CEO (or some other guy with a credit card) who has been told by his developer to buy amCharts. All of these sales could have initially originated from a campaign that could’ve been declared a complete waste of money based on the tracking data we have.

Another example with a different angle. One of the best music albums I’ve bought last year was Velociraptor! by Kasabian. Let me try to track the chain of events that led me to the purchase. I’ve heard about the band and some of their songs before, but have never bought any of their music. The catalyst of the purchase was a remix of the song “Days Are Forgotten” by DJ Z-trip. I’ve heard it on Z-Trip’s site, then went to the Zune store on my PC a couple of days or even months later and bought the album. I’m pretty sure there’s no trace of this chain anywhere. So Kasabian’s record label (or whoever cares) has no idea that money spent on commissioning Z-Trip and LL Cool J to do the remix resulted in the sale. But lets go deeper. Why did I go to Z-Trip’s site in the first place? Because he was DJing at the party of MIX11 conference I’ve attended last year. So I guess part of the referral credits should go to Microsoft? But why did I pay attention to the name of the DJ at MIX11 and have no idea who was DJing at MIX10? Because I already knew who Z-Trip was, even though I’ve completely forgotten by that time. Back in the early 2000s I’ve listened to Linkin Park a lot and their lead-vocalist did vocals on one of the songs on Z-Trip’s album. And I don’t know who was responsible for turning me onto Linkin Park.

As you can see human mind can trace some events back along a chain of events that none of the tracking software can pick up. In the above mentioned case it even failed at the very first step which would definitely be of interest for a music bands management.

The bottom line is that the fact that we can track something gives us an illusion that we can track everything, but the next couple of times when you buy something online try to analyze if the seller of the product can trace your purchase back to the original source of your interest in this product. And when you notice that they can’t, think about your own campaigns and how you believe you know the RoI on them.

Tags: , ,

The Intricacies of Azure Blob Storage Pricing

1/16/2012 6:50:42 PM

We are in the process of designing new major features for AdDuplex. So we were discussing some implementation/architecture choices for a future release. Part of the implementation we were planning to pursue included serving of content directly from public container in Azure Blob Storage over HTTP.

Since Azure (as most of the Cloud solutions) is a “pay for what you need/use” type of arrangement we had to look at pricing for Windows Azure Blob Storage and decide if our proposed implementation was the best choice from the cost effectiveness perspective.

The price for the blob storage consists of 3 components: storage space, bandwidth/traffic and transactions. Space pricing is clear, bandwidth pricing is clear, but what is transaction??

The explanation next to the transaction slider in the pricing calculator doesn’t help much:

You pay based on the average amount of data you store during a billing cycle and the number of read/write transactions you make to it during that period.

Again: what’s the definition of transaction in this context? Browsing the Windows Azure site doesn’t help much.

The most comprehensive resource on the web (at least the one I was able to find) explaining Azure Storage billing in detail is this blog post by Brad Calder from 1.5 years ago. Let’s see if it helps.

We finally have some definition of transaction:

Transactions – the number of requests performed against your storage account

Judging by this succinct definition we may conclude that we should consider each request to a PDF we’ve posted publicly to the blob storage as a transaction. OK, but let’s read further (emphasis mine)

Each individual Blob, Table and Queue REST request to the storage service is considered as a potential transaction for billing. Applications can then control their transaction costs by controlling how often and how many requests they send to the storage service.

OK, so if I place a PDF into blob storage and it is accessible publicly as http://mystorageaccount.blob.core.windows.net/mycontainer/mydoc.pdf and then it’s picked up by CNN.com and linked from there, there’s no way I can control “how many requests I send to the storage service”. So I would guess this case should not be a subject to transaction billing.

Then we have this:

Each and every REST call to Windows Azure Blobs, Tables and Queues counts as 1 transaction (whether that transaction is counted towards billing is determined by the billing classification discussed later in this posting)

Again, there’s no definition what is considered a “REST call” here, but GET request over HTTP is probably a “REST call”, right? So, by this point I got totally confused and I decided to let the twitter enlighten me. After some back-and-forth Neil Mackenzie (Azure MVP) concluded:

image

OK, I believe Neil, but how am I supposed to know that someone accessing my public file is “A single GetBlob request to the blob services”? Still, at this point, I was convinced that each such request is basically billed twice: once for the bandwidth and the second time for transaction. But just to make sure I decided to make an official support request to clarify this once and for all and I got this answer:

As discussed over the call every single request coming to our blob is considered as a transaction. Hence we count this transaction as a storage transaction and this component will be shown in the invoice.

So, there you have it. I’m not sure if the concept is logically flawed or just a structured way to charge you more, but I’m sure it has to be explained in simpler terms and definitely cover this simple public blob scenario.

Don’t get me wrong, I understand that if there’s a cost associated with each transaction someone has to pay for it. It’s perfectly clear with bandwidth or storage. You can argue about the prices, but it’s pretty obvious it costs something. But with these “transactions”… I don’t know. I need more clarity.

What do you think? Is this a logical billing structure? Do you understand where’s the per-transaction cost to Microsoft that is then passed to you in this scenario? Should you be charged a transaction fee for each request of a public image on your site? Honestly, it doesn’t make much sense to me.

Tags:

My Startup Series: How I Built and Sold almost-Digg 5 Years Before Digg

1/10/2012 8:26:59 PM

After my first startup was killed by the evil IP thieves I’ve lost faith in entrepreneurship… I’m just kidding. I was just finishing school, then university, then getting married, then getting my first “real job” at a bank, etc.

422697043_6fc7d03cd7_b
Photo by Joe Shlabotnik

The Meeting

By 1999 I worked at a small company (with a big name). There was huge financial crisis in Russia and our CEO had lots of bets on several projects that fell through due to the events in the eastern neighbor. So the salary was always a couple of months behind. But we were expecting our daughter, therefore switching jobs wasn’t on my radar at the time. So I set up on a mission to find some side work.

I’ve responded to an ad of a local company looking for freelancers to work on some web project for some US company. I’ve been offered the job as was one other guy. We’ve met to discuss that project for a couple of times (I’m not even sure I remember what it was) and then were told that the project fell through and our services were no longer needed. Little did I know that I will end up working with the dude till this day.

So we were out of our freelancing gig, without anything to replace it with, but still willing to do something.

The most popular site on the internet at the time was Yahoo! (I think). And it wasn’t the huge behemoth it is now. It was mostly a manually managed directory of web sites on the internet. Yeah, it was actually possible to manually manage a list of all the meaningful sites on the internet at that time. I could have navigated to a category of interest and see all the sites about, say, web development.

That was great, but how do I know when one of these sites posts new content? Believe it or not there were no RSS readers (or RSS feeds for that matter) and stuff like that at the time. So the only way to know when there is a new article on 4 Guys from Rolla – a hugely popular ASP developer site of the time – was to actually visit the site.

AC not DC

So my idea was to create a directory of content for web developers. Or as we called it “The Content Directory for Web Professionals”. I’ve pitched the idea to Martynas after he promised not to screw me over and implement it without me. Classic first time entrepreneur move. Fortunately he thought it was a good idea too and turned out to be a cool guy in general.

We have started working on the project. Martynas did the public part of the site and I did the administrative part. It’s funny that even in 1999, coming up with a decent .com domain name that was not taken, wasn’t easy. After a lot of deliberations and domain name checks we’ve settled on ArticleCentral.com.

On some day in 1999 ArticleCentral went live.

image

For the next several years we were doing daily rounds around the sites in our database and [selectively] list new articles. Users would come to ArticleCentral, check the new articles, suggest other articles and rate them (sounds familiar?). It was possible to filter articles by category and rating, search through our article database. We even had a “tracker” – a piece of JavaScript that you could embed into your own site and show newest content from ArticleCentral. I totally forgot about that and, frankly, was shocked when I remembered that we had that in 1999 :) One may argue that the web didn’t come a long way since then.

image

Later on we’ve added a sister site for hardware articles and reviews.

We had several mailing lists sending out thematic updates to thousands of web developers and designers. We were writing editorials for our weekly newsletters and we had a weekly poll. After several years coming up with editorials and poll ideas became a real chore. Fortunately later in the life of the project we were approached by a young guy (I think he was still in high school at the time) who was willing to write the editorials and think of new poll ideas and we happily delegated these to him. After ArticleCentral he got “promoted” to HotScripts where he still blogs regularly.

We’ve sold quite some advertising on our site and in the mailing lists at rates that would make any modern content publisher salivate. Unfortunately traffic at the time was a joke looking from 2012, so great rates didn’t materialize into nice red Ferraris and beach houses.

The Exit

Anyway, by 2001-2002 the dotcom era was long over. We were pretty bored with the project and it was too early (on the internet scale) for us to come up with something that would transform AC into what later materialized as Digg. We decided that it was time to make an EXIT. Even though we didn’t know the term at the time. So we have just published a splash page on the site that it was for sale.

This was a long shot, but we were contacted by a couple of parties and, while I was on vacation in Turkey in September of 2002, closed the deal. I doubt that I’m allowed to disclose the amount of the deal, but lets just say that it paid for the vacation and I still had some change left.

This concludes a story of how I became a serial entrepreneur with one successful exit. (Haha. Sounds cool when I put it this way). But I have a couple more startup stories up my sleeve.

Tags: , ,

My Startup Series: How Intellectual Property Theft Killed My First Startup

1/6/2012 6:28:06 PM

I got my first computer when I was about 13-14. It was a Sinclair ZX Spectrum Plus. I had it hooked up to a black and white TV that was probably smaller than my current phone. Well, maybe not the phone but probably smaller than my Kindle. And you had to load software from cassette tapes.

spectrum_plus
My first computer. Photo from Planet Sinclair.

USSR was living its final years but it still was USSR. There was no way to buy legal games or applications for the computer. To get some games you had to go to some basement and buy a service of recording pirated games to your own cassette (getting cassettes wasn’t a small feat either, but that’s another story). Another option was to copy games from friends or a “pusher” – someone who didn’t own a basement, but was selling pirated games anyway.

A friend of mine knew such a pusher. But at the time parents bought me my ZX Spectrum the guy was away and I couldn’t get any games. All I had was a computer manual. Funny thing is that computers of the time had programming tutorials right in their manuals. So out of boredom I taught myself some basic BASIC. This has probably defined all my life and the fact that I basically don’t play games.

511
Scan of the Sinclair ZX Spectrum Plus Manual page from Retronaut.

Anyway, the pusher came back and delivered some games and I played them, but I was already hooked on programming.

After some small scale projects I set out to make a game. At that time the most popular TV show in USSR was a “Wheel of fortune” rip-off called “Поле чудес” (The Field of Wonders). So it was only natural that I wanted to make a computer game for that. I don’t recall how much time I’ve spent on it, but after some time it was ready and I’ve hosted a game with my parents and their friends. One of my father’s childhood friends was a programmer and he complemented me on the game, so I thought I was an awesome developer. I’ve shown the game to my “pusher” and he complemented me on it too. He even asked me to record a copy for him, so he can play at home.

Поле_Чуде

I was young, I was born in USSR and I had no entrepreneurial aspirations at the time. I just made some product and was happy when people told me it was cool.

One day I went to a “basement software store”. There were printed catalogs of all the pirated games and applications you can get recorded on your cassettes. I’ve noticed The Field of Wonders on the list made by someone else and was excited to see what other programmers did and how does my game stack up against theirs. So I paid the guys to record me that game among others and went home.

When I loaded the game, my jaw dropped. It was my own game with all the copyrights and logos replaced with some other logos. When my friend came over he recognized the name of the “company” as the one our “pusher” used. The guy just took my game “rebranded” it and made some money. I’m pretty sure he didn’t make anything worth mentioning, but I didn’t make anything at all. I’ve actually lost a few cents by paying those basement pirates for my own game! So I was pretty upset, but I didn’t care much. I was even proud that my software was good enough for someone to steal and rebrand. I didn’t buy games from that pusher anymore, though.

That’s the story of my first startup and one of the milestones letting me pretend to be a serial entrepreneur. I’ll blog about my later endeavors in future posts.

Tags: , ,

Not in Love with Connected TV Idea Anymore

1/2/2012 6:46:07 PM

image

In the spring of 2010 I’ve bought Samsung’s TV with Internet@TV feature. (read my review here). I loved it and I loved the fact that I have all the media playing and online stuff in one unit and don’t need to bother with all the wires and extra remotes. At the time I easily ignored the fact that 2009 models didn’t get the software update to the new system and stayed at the previous version.

Fast forward just one year and Samsung released new models with Smart TV feature (and they’ll probably announce a new generation at CES in just a few days). I’m not sure what’s the difference there, but it’s new and I’m not getting it on my TV (at least that’s what I’ve been told by a Samsung representative). My TV still works just fine, I still like it and I didn’t experience any problems with outdated software, codecs, etc… yet.

I’m not sure why Samsung abandons their TV customers even faster than their Android phone customers, but I’m pretty sure that even though I’m comfortable with upgrading my phone every 2 years, there’s no way in hell I’m upgrading my TV every 2 years. I don’t know maybe their end play is in changing mentality so people are comfortable upgrading TVs every 2 years, but I seriously doubt this is doable. They’ll have to make us walk in circles in the desert for 40 years until we all die and new generation accepts the idea.

I expect my TV to “last” for at least 5 years. And there are no signs I will miss anything in it for that period except advancements in those internet connectivity/media playing areas.

I assume the problem is not only the greed of electronics manufacturers but also the fact that processing power, storage, etc. are secondary functions of the TV and they can’t afford to make future proof hardware in the competitive market.

At the same time I can’t afford to upgrade $1000+ TV to get upgrade to the feature perfectly performed by a sub-$100 device. I’d rather throw away that $100 thing when it becomes outdated and buy a new one. And connect it to the same 2 year old TV.

wdfWDTV_Live_G3

Another option is to buy a “gaming” console like Xbox 360 or PS3. Or probably wait for the next generation and then buy them. These are more expensive but, unlike TVs, they can (and actually have to) afford to invest in 5-7 years future-proof hardware.

In any case, unless the situation changes, I’ve lost my love for the connected TV idea and think that until the industry gets to that boring stagnation phase, the concept doesn’t make sense. Unless Apple manages to take the idea and make it sexy somehow.

Tags:

Windows Phone App Promotion and Monetization Talk Video

12/29/2011 6:04:58 PM

Here’s a video of my talk on WP7 app promotion and monetization I did a couple of weeks ago at Lotus 8 conference in Riga. Hope you find it useful in marketing your apps.

The talk starts at about 1h 54 min. mark. Unfortunately I don’t know how to embed a video with starting position, so you may need to seek forward or just watch it directly on YouTube.

Tags:

Porting Old BlogEngine.net Comments to Disqus

12/29/2011 10:45:36 AM

Yesterday I’ve finally managed to upgrade this blog to the latest version of BlogEngine.net. Let me know if you notice any issues related to that.

The process was smooth and easy. Except that I wanted to move commenting to Disqus at the same time. Enabling Disqus comments was easy too, but moving old comments up there was not.

First I found this method and tool. It looked like it worked at first but comments didn’t show up in Disqus. Then I figured that BE.net uses Permalink for Disqus URLs and this tool was using “friendly” link. So I modified what it was exporting and then it just started crashing when trying to upload comments to Disqus.

Then I found this method and tool. It takes standard export from BlogEngine.net in BlogML format, extracts comments from it and saves them in WRX format that can be imported into Disqus. Unfortunately it uses the same “friendly” URLs and BE uses permalinks as identifiers for Disqus threads. Obviously its possible to modify BE code to use the same URLs but it’s not future-proof (among other issues).

So finally I decided to make a small utility that would take WRX generated by the above mentioned tool and original BlogML and replaces “friendly” URLs with permalinks in the WRX. It’s very primitive and not flexible so I’m posting source here instead of binary.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace BlogML2WRXFix
{
class Program
{
static void Main(string[] args)
{
var wrx = XDocument.Load(args[0]);
var blogML = XDocument.Load(args[1]);
XNamespace blogMLNS = "http://www.blogml.com/2006/09/BlogML";
string hostPrefix = args[2];

var wrxItems = wrx.Descendants("item");

foreach (var wrxItem in wrxItems)
{
var linkNode = wrxItem.Descendants("link").First();
// URLs in my WRX included extra slash at the beginning
string linkUrl = linkNode.Value.Substring(1);
linkNode.Value = String.Format(hostPrefix + "post.aspx?id={0}", blogML.Descendants(blogMLNS + "post").First(f => f.Attribute("post-url").Value == linkUrl).Attribute("id").Value);
}

wrx.Save(args[0]);

Console.ReadLine();
}
}
}

It takes path to the WRX file as the first parameter, path to BlogML file as the second and host prefix to use for the output URLs (like http://devblog.ailon.org/) as the third.

Tags:

GPL/Commercial Dual Licensing Is Evil For Libraries

12/27/2011 6:12:00 PM

I’ve listened to Hanselminutes on Kendo UI a couple of days ago. It was a great podcast as usual and, even though I haven’t personally used it yet, I’ve heard good things about the Kendo UI framework. What I haven’t noticed before and what I’ve heard on the show was that Kendo UI is released under a dual GPL/Commercial license.

I used to run a dual-licensed GPL/commercial product from 2003 and decided to never go that road again. The decision isn’t new, but I figured I’ve never put the reasoning in writing. So here it is. Here’s why I think GPL/commercial dual licensing is bad for your libraries (from the developers/publishers perspective).

Disclaimer: IANAL (I am not a lawyer). So all of this is just my point of view on the issue.

Why GPL/Commercial in the first place?

This was our rationale for SPAW Editor and, from what I’ve heard on the podcast, Telerik’s rationale was pretty much the same. We didn’t mind (and even wanted) open source projects using our library for free. That sounded great both from “good karma” perspective and free word of mouth promotion it was supposed to generate. On the other hand, we didn’t create the library out of pure love for coding and expected to support it by selling it to commercial customers. GPL looked like an easy solution for our needs. It allowed us to release the code to be used by open source projects and prohibited its use in the closed source projects. Or at least that’s what we thought at that time.

Unfortunately even though it is partially true, partially is a key word here and it has quite a few caveats.

Problems with GPL/Commercial licensing

  • GPLed version can only be used in GPL-compatible projects.
    GPL is contagious. Once you use a GPL library in your project, you can only distribute it under GPL. So we weren’t serving non-GPL OSS projects and there are lots of them.
  • Your product is not really Open Source.
    As long as you are the only contributing party you can re-license your code in any way you like. Once there are other contributors to your GPL project, their contributions are covered by GPL and you technically loose rights to dual-license it. Obviously you can work around this with some legal work, but that’s an extra barrier to entry by contributors. So I’m pretty sure that, even though Todd Anglin stated on the podcast that they are looking into enabling contributions, this will never materialize.
  • GPL is confusing. Especially in our (library/framework) cases.
    GPL FAQ is 35 printed pages long. When you are building your business on top of GPL you can manage to read and understand it. When you just want to use a library (which has competitors with simpler licenses) – you wouldn’t bother.
  • It creates a lot of “legal” support overhead.
    Following on the previous bullet point, the most frequent type of question we were getting was “I want to use your library in Scenario X. Can I use it for free?”. We used to have a question like that in our FAQ (it is not there now since we stopped offering commercial license), but it didn’t help. Every situation is slightly unique and your users don’t have enough time and/or willingness to figure it out on their own. So they delegate it to you.
  • You are not getting as much viral promotion as you would’ve with non-restrictive open source license like BSD, MIT or MsPL.
    Just because fewer OSS projects can use your product.
  • You are not monetizing who you wanted to monetize.
    GPL covers distribution. If there’s no distribution involved everyone can use your library for free “under GPL”. So if Microsoft or, say, Google build their own sites in-house they can use your product for free.

These are the issues I’ve experienced with the model that I can think of from the top of my head. I bet there are other things too.

Is there a better way?

Provided that our objective hasn’t changed and we want to support non-commercial and/or OSS initiatives with a free product and monetize commercial users, I’ve seen 2 approaches that work better, in my opinion, than GPL/commercial dual-licensing.

  1. Core product under (more) permissive license, commercial extras.
    This is the approach used by the most popular web WYSIWYG editor (and SPAW Editor’s competitor at the time) – TineMCE among other projects. I think it was one of the reasons (probably not THE reason, but still) why they “beat” us. The core library is released under LGPL or totally permissive licenses (BSD, etc.) and you make money on extras that are not required, but have a wide enough appeal to generate revenue.
  2. Linkware/Commercial dual-licensing.
    This is the approach we use with most of the amCharts products (and, no, I didn’t come up with the idea). This would probably only work for more elaborate UI libraries (like charts). The idea is that you give away your library for free to anyone with only caveat that it includes a link back to your site. Non-profit projects wouldn’t mind it in exchange for a great product, and commercial users probably would mind it and buy a license (or they wouldn’t mind and you still get advertising from them).

That is basically it. Let me know if I forgot something or if you think I’m totally wrong. You can do it either here in the comments or on twitter.

P.S.: feel free to follow me even if you don’t have anything to say on the subject ;)

Tags: ,

Notes from DevReach

10/24/2011 5:42:54 PM

Last week I’ve visited Sofia, Bulgaria. I was attending DevReach conference. I’ve decided to visit at least one international conference this fall and DevReach was pretty much the best possible choice judging by the caliber of speakers and sessions. And combining that with the total cost to attend, it was THE best possible value.

The Conference

The conference was held in the Arena Mladost multiplex and was very well organized. Aside from putting too much trust into Google Translate for the intro slide I have no complaints whatsoever ;)

WP_000231

FYI, you can hardly translate “Welcome” into “Pasveikinti” in Lithuanian in any normal situation. The real translation in this case would be “Sveiki atvykę”. But Kudos for the effort ;)

Other than that minor minor thingy, organization was pretty much flawless. Conference WiFi worked like a charm. Something you don’t expect from a developer conference. The fact that it was held in a cinema meant that sitting was top notch and by the end of the day my ass and back had no complaints.

Speakers were great. Obviously there were no big reveals or announcements, but the fact that there were tons of great speakers and most of them weren’t from Microsoft and weren’t doing a boring “read material prepared by MS evangelism team while showing slides someone else made”, more than compensated for the lack of big announcements.

I’ve already seen, heard or read most of what Scott Hanselman had to tell, but the experience could be compared to seeing your favorite band on video and then watching them live. You don’t complain that they’ve played your favorite songs.

A special checkmark goes to participating in the live recording of an episode of DotNetRocks podcast.

WP_000244

That was great, but considering the subject of “starting your own software company”, it was pretty strange not to see the founders of Telerik on the panel. I’ve expressed my surprise on Twitter and Richard Campbell admitted that this should be fixed and we can expect a DNR episode on the subject. Do I get a mug? ;)

As for Windows Phone, unfortunately Bulgaria is in the same situation as Lithuania – they can’t buy apps and they can’t submit apps directly. So interest in the subject is relatively low. I have no special arguments for Lithuania, but Bulgaria is a home of one of the biggest .NET vendors in the world, so, really MS, WTF!?

Another interesting observation – there are lots of female developers in Bulgaria.

Extracurricular Activities

I’ve arrived on Sunday (conference started on Monday). So I had a couple of hours for sightseeing. Sofia is a beautiful city, but unfortunately the weather was pretty crappy (I’ve travelled 2000km south and it was colder than back home and it was snowing!), so I couldn’t enjoy it properly. I guess I’ll have to return :)

WP_000218

And what’s up with the homeless dogs? Are they some kind of sacred animals or just friendly habitants of the city?

WP_000224

They can be seen in all parts of the city and it felt pretty strange, even though they looked sort of friendly. I like dogs, but I almost shat my pants when a huge black dog emerged from behind of a container right in front of me. Luckily the dog almost shat his pants too.

The location of the venue is relatively remote and there’s only one hotel next to it. So all the speakers and most of the international attendees stayed there. I had a great pleasure of meeting awesome people despite being a shy (read stupid) person: Scott Hanselman, Jesse Liberty, Stephen Forte, Joel Semeniuk, Gill Cleeren, Maarten Balliauw, Todd Anglin, Phil Japikse, Michael Crump, Tomislav Bronzin, Chris Eargle,  etc. (sorry, if I forgot to mention you personally!)

Pro tip: never try to save on the accommodation when traveling to a conference. Stay where speakers stay. It’s worth every penny.

After the second day of the conference there was a party for speakers and VIP attendees where I finally got a chance to meet great guys from Telerik: Vassil Terziev, Valio Stoychev (thanks for the ride!), Vladimir Milev and others. And it was great to reconnect with Emil Stoychev.

Conclusion

I liked it. I’ll be coming back next year. Hopefully as a speaker(?) ;) If you are looking for a great MS technology related conference in Europe which doesn’t force you to break your bank, look no further. DevReach is it.

P.S.: special thanks to Natalia Dimitrova for planning all of this and answering my stupid questions ;) And thanks to Ina Toncheva (sorry we had only a short chance to chat).

Tags: ,

Copyright © 2003 - 2012 Alan Mendelevich
Powered by BlogEngine.NET 2.5.0.6