General

Wikimapia: Profitable and Closing on 1M Unique Visitors, but no Exit in Sight

Posted in General, Geo, Maps, Russia on June 25th, 2010 by andrei – 4 Comments

Crowed-sourced maps are all the rage these days, but back in 2006 it was only OpenStreetMap and Wikimapia (at least, they were the most-known). Unlike OpenStreetMap which has been getting a ton of publicity, Wikimapia is flying under the radar. Several weeks ago I had a chance to chat with Wikimapia founders Alexandre Koriakine and Evgeniy Saveliev to get an update on the project’s status.

For those not familiar with the project – Wikimapia is a wiki for maps. As with any other wiki, Wikimapia allows users to annotate features on the map, add points of interest and more. When compared to OpenStreetMap, the main difference is that Wikimapia users are not limited in what they can add to the map. In addition, all user-contributed features are presented as clickable overlays and not “baked” into the actual map tiles. Another more subtle difference is in the ownership of the contributed data: Wikimapia’s data is exclusively captured (traced) from Google Maps and therefore owned by Google and its data providers (personal observation).

The project was launched in 2006 and, as Wikipedia states, has over has over 11M places and well over 600K registered users. According to Saveliev, the website gets close to 1M unique visitors per day. I wasn’t able to confirm those numbers on Compete, Alexa or Quntcast. In any case, enough of Wikimapia’s visitors click on AdSense ads to support a staff of eight full-time employees, including two founders, and make the company profitable.

Contrary to some rumors, Koriakine and Saveliev never raised outside capital and were able to bootstrap their way to profitability. As of right now 100% of company’s revenue is derived from advertisement, but Wikimapia plans to develop additional revenue streams and products in the near future.

I was surprised to learn that despite the surge of location technologies, Wikimapia hasn’t seen much M&A interest. Part of the reason might be Wikimapia’s reliance on Google. In addition to the data ownership issues mentioned above, Wikimapia’s technology is tightly coupled with Google Maps API making it difficult for non-Google-centric companies to take over. Another reason might be that simply not enough people outside Russia (and India) know about the project.

Although Koriakine and Saveliev are not opposed to the idea of selling Wikimapia, they are not actively pursuing it. Instead, they are focusing most of their attention on growing the business. The environment today is a lot different from what it was back in 2006, and the company has to face pressure from Google, Yandex and OpenStreetMap. So far, Koriakine and Saveliev have been able to build a successful business, and it will be interesting to see how they address the challenges ahead. One thing is certain, we’ll be hearing more about Wikimapia in the future.

Thoughts on Where 2.0 2010

Posted in General, Geo, UMapper on April 15th, 2010 by andrei – Be the first to comment

This year’s Where 2.0 was as interesting and engaging as ever. It is worth to point out that instead of traditional mapping companies like Microsoft, Google, ESRI and others, the center stage at Where 2.0 2010 was dominated by Foursquare, Gowalla, Twitter, Yelp and freshly-released SimpleGeo. However, Yahoo Geo did roll out concordance enhancements to GeoPlanet API, ESRI announced online GIS platform, NAVTEQ showed a cool new way to collect data, and Blaise Aguera gave a phenomenal presentation on Bing Maps.

Another curious fact was the shift in discussion topics. During the past two years there was a lot of talk about business models, monetization and mapping the world. This time around the focus shifted to the potential of the location space, ubiquity of location data, real time content and growth of local. I guess we are getting closer to starting to explore the potential of LBA, but for most companies it is not going to happen this year.

In case you missed it, here are few hightlights from the geo world:

Check out Oreilly YouTube channel for the complete list of Where 2.0 talks.

The guy on the left is Martin Isenburg, the author of the famous Chickens and Lasers talk.

Chicken Laser

Finally, you can watch me talk about UMapper in interviews by GISCafe and Steve Coast.

Encounter with Kevin Hoyt and UMapper Demo on NexusOne

Posted in Actionscript, General, UMapper on April 14th, 2010 by andrei – Be the first to comment

Yesterday at NAB2010 I had a chance to catch up with Kevin Hoyt who is a platform evangelist at Adobe. In addition to all the cool new Flash CS5 features, Kevin showed the latest version of Adobe Flash Player 10.1 running on Google’s NexusOne. In the picture below Kevin is showing UMapper maps running on his Android phone.

UMapper map on NexusOne

I was very impressed with the quality and the speed of [mobile] maps and can’t wait to see this on my phone. As expected, Kevin didn’t share the release date for flash-enabled Android, but it should happen some time this year.

AFComponents is Looking For a New Owner [and it could be you]

Posted in General, UMapper on March 23rd, 2010 by andrei – Be the first to comment

Today we sent out an email to tens of thousands AFComponents.com customers announcing the intention to sell AFComponents. Here is the original email that provides a good summary of the situation:

Let’s be honest, we haven’t been able to give AFComponents the attention it deserves lately. With it’s continuing revenue and consistent traffic, it would be a shame to see our support for the project diminish as we focus more and more on UMapper. That’s where you come in.

Why are we selling AFComponents?
Over the past year most of our resources have been focused on the interactive mapping platform UMapper, which is growing quickly. Our small team can no longer fully support both projects, and we have made the decision to pursue opportunities with UMapper.

We are still devoted to the success of AFComopnents and would love to see it grow instead of simply maintaining the status quo. AFComponents is a great asset as it continues to generate revenue and enjoys consistent organic traffic.

How much does it cost?
We are open to negotiations. Send us your best offer along with a description of what you plan to do with the website. Above all, we are looking for passionate people with a solid action plan.

What are we selling?
Here is the quick list:

  • AFComponents.com website, including CMS
  • AFComponents.com domain name
  • Advancedflashcomponents.com domain name
  • AS 2.0 and AS 3.0 components including source code exluding UMap and GMap components

How can I get more info?
In order to receive more information please sign this NDA. You can email the NDA to andrei at afcomponents or fax it 303-694-7305. Once we receive a signed copy we will provide you with additional details.

Please help spread the word! Forward this email to all of your friends to receive amazing blessings for the rest of the day!

That said, if you are interested or know someone who might be, sign the NDA and shoot me an email. I look forward to hearing from you.

Packaging UMap API for IPhone

Posted in Actionscript, General, UMapper on March 8th, 2010 by andrei – Be the first to comment

Last week I finally had a chance to test UMap ( ActionScript 3.0 mapping API ) on IPhone. Aside from running into some minor issues with provisioning files, the entire process of packaging a Flash application for IPhone [in Flash CS5] went smoothly.

To my surprise I didn’t have to make any changes to UMap nor to my test application, the whole thing worked from the very first try. I was able to load KML files from UMapper, switch between map data providers (Bing, Yahoo, Google, OpenStreetMap), access IPhone’s GPS coordinates and use accelerometer. Here is a quick video demo – apologizies for the poor quality.

And here is the code that makes this work:

package  {
 
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.GeolocationEvent;
	import flash.sensors.Geolocation;
	import flash.display.Sprite;
 
	import com.afcomponents.umap.events.MapEvent;
	import com.afcomponents.umap.core.UMap;
	import com.afcomponents.umap.overlays.FeedLayer;
	import com.afcomponents.umap.overlays.Marker;
	import com.afcomponents.umap.types.LatLng;
	import flash.events.MouseEvent;
 
	public class IphoneMap extends MovieClip {
 
		private var _map:UMap;
		private var _feed:FeedLayer;
		private var _location:Geolocation;
		private var _count:Number=0;
 
		public function IphoneMap() 
		{
			createChildren();	
		}
 
		private function createChildren():void
		{
			_map = new UMap();
			_map.setSize(stage.stageWidth, stage.stageHeight-49);
			_map.doubleClickMode = "zoom";
 
			var tab_bg = new Sprite();
			tab_bg.graphics.beginFill(0x000000);
			tab_bg.graphics.drawRect(0,0,stage.stageWidth, 49);
			tab_bg.x = 0;
			tab_bg.y = stage.stageHeight-49;
 
			var map_btn:MapButton = new MapButton ();
			map_btn.x = 20;
			map_btn.y = tab_bg.y+ 10;
			map_btn.addEventListener(MouseEvent.CLICK, loadData);
 
			var target_btn:TargetButton = new TargetButton();
			target_btn.x = stage.stageWidth -( 20+target_btn.width);
			target_btn.y = tab_bg.y+10;
			target_btn.addEventListener(MouseEvent.CLICK, initLocation);
 
			this.addChild(tab_bg);
			this.addChild(target_btn);
			this.addChild(map_btn);
 
			this.addChild(_map);
		}
 
		function loadData(event:MouseEvent):void
		{
			_feed = new FeedLayer();
			_feed.autoShow = true;
			_map.addOverlay(_feed);
 
			var ids = ["57828","57823","57830"];
 
			_feed.load("http://umapper.s3.amazonaws.com/maps/kml/"+ids[_count]+".kml");
 
			if(_count==2){_count = 0;}else{_count ++;}
		}
 
		function initLocation(event:MouseEvent):void
		{
			_location = new Geolocation();
			_location.setRequestedUpdateInterval(5000);
			_location.addEventListener(GeolocationEvent.UPDATE, onLocationReceived);
		}
 
		function onLocationReceived(event:GeolocationEvent):void
		{
			_map.setCenter( new LatLng(event.latitude, event.longitude), 5);
 
		}
	}
}

Flash 10 and AIR on Mobile Devices

Posted in Actionscript, General on February 15th, 2010 by andrei – Be the first to comment

Yesterday Adobe made some important announcements that will have a huge impact on UMapper and other Flash-based platforms. It looks like Flash Player 10 and Adobe AIR will be [finally] supported on Android, Blackberry, Windows Mobile and other mobile platforms. Add to that Adobe’s IPhone packager and the entire smartphone vertical is covered, or at least will be by 2012.

Having played with Flash CS5 (mobile libraries and the new version of device central), I think Flash has a good shot at becoming a truly cross-platform (desktop, mobile, web) development solution.The fact that you can take an existing ActionScript code-base, adjust the UI and deploy it on a number of mobile devices (while maintaining a consistent user experience) will be a huge improvement. That said, Apple is still not supporting Flash and there is a risk that ‘packaged’ Flash IPhone applications will be limited.

I guess we will have to wait and see.

Hello World

Posted in General on February 7th, 2010 by andrei – 1 Comment

Few days ago I felt a sudden urge to resurrect andreit.com, so here we go! This blog is going to be a testing ground for some of my experimental projects and a general repository for thoughts, code snippets and everything in between. Cheers.