ailon's DevBlog: Development related stuff in my life

Searching for a perfect online CRM

8/2/2012 7:31:30 PM

I’ve spent today looking for a simple, reasonably priced (free to low double digits $/month) CRM. I didn’t expect to hit the wall where I’ve actually hit it pretty early in the process. That kind of simplified the process but basically resulted in me looking not at the features, UX and other stuff, but on the pure fact that the system can satisfy these simple requirements.

Litmus paper

So the set of my minimum viable test looks like this:

  1. Imports contacts and deals/leads (whatever you want to call them) from Excel or CSV
  2. Test case: shows a list of clients with more than one closed deal (valuable repeat customers) that didn’t buy anything in last 3 months (contact them to see what’s up)
  3. Isn’t overloaded with unnecessary concepts (leads, opportunities, whatever – “deals” is enough for my purpose)
  4. Isn’t a “Swiss army knife” (doesn’t do anything besides CRM – integration with other services that do other things is good though)
  5. Costs less than $30/month per user


Unfortunately I couldn’t find a system that satisfies all of the above.

I’ve dismissed all “Swiss army knives” right when I saw them.

Quite a lot of the CRMs I’ve tried can’t import anything besides contacts. Highrise, Capsule, OnePageCRM, Timetonote, KarmaCRM, Dashboard, iFreeTools CRM failed at this step. Now I might be stupid and a total CRM noob, but I really want to see previous deals for my clients. Doesn’t sound like it’s too much to ask, right? And who (apart from those really just starting up) doesn’t want to see that? So these were disqualified on the spot even though Capsule and Highrise looked pretty nice. is so tightly integrated with Google Apps that I went into infinite loop trying to “install” it.

Nutshell – looks good, imports deals, but there’s no way to import deal value even though there’s a field for that. And it can’t filter my test case (#2).

Zoho CRM – free (for my case), imports stuff (even though it requires a pretty specific CSV format), but is way overloaded with concepts (too powerful?) for my taste. And it doesn’t seem that it can filter my test case either.

And the winner is …


Pipedrive – a fellow #balticmafia startup. Unfortunately they can’t filter my test case too, but I hope they are still small and lean and can accommodate this feature request. Right, guys? ;)

Other than that it’s pretty slick, fast and simple (some may find it too simple but that’s not me). It imports directly from Excel files too. One piece of feedback would be to do the field mapping the opposite way. Pipedrive shows you your data and allows you to match CRM fields to your fields. The other way around makes more sense, imho, but that’s easy to workaround and most likely a one time problem anyway.

So I’ll continue the Pipedrive trial for now. Will try to do some actual work with it and see how I like it. I’ll update this post if I have something to add after some time of usage.

P.S.: here’s a great post reviewing most of the CRMs listed here and some others that I used as my starting point.

Tags: ,

Klok - Personal Time Tracking Made Easy

6/24/2008 2:43:50 PM


When I saw a post about Klok on DownloadSquad I immediately thought that the idea is brilliant. Now that I've used Klok for 2 days I can say that implementation is a little rough around the edges but definitely useable and the idea is really brilliant and not only on paper but in real life too.

So, what is Klok? In it's creator's Rob McKeown's words:

Klok is a tool intended to be used by individuals, like myself, who have a need to track the time they spend on projects, tasks or anything else for that matter.

There are many project/progress tracking solutions out there but for tasks when you work alone or you are not a project manager needing to track activity of multiple developers using something complex is an overkill. When I needed to track time spent on some project most of the time I've resorted to post-it's or spreadsheets and system clock but with Klok I can save trees and my own time. And, by the way, it can export your timesheet to Excel, too.

Basically you just have a small bar on your screen


and select a project you are currently working on. And the stopwatch starts. When you are done with the project you switch to other project or just hit "stop". Projects can have sub-projects and sub-projects can have sub-sub-projects and so on. Then you can view your week in calendar-like fashion. Or look at your data on project basis. Or generate reports. Or export data to Excel.

Not everything is pink in Klok: I wish it was just a tray icon or Vista SideBar Gadget rather than bar shown above, I wish there were some configuration options (a week doesn't start on Sunday over here), the UI isn't perfectly smooth and for reasons unknown not all projects are shown in project dropdown all the time. But all these are minor issues which I believe will be addressed over time because overall this is a really nice add-on to my toolset.

You can find Klok at

P.S.: I was somewhat skeptical about all this Adobe AIR thing but now I'm already using 3 AIR apps on a regular basis: twhirl (which is probably one of the most beautiful and polished little apps I've seen), Pandora (well, it's actually a website shell but still) and now Klok.

Tags: , ,

Podcasts on Windows Mobile

5/27/2008 3:53:55 PM

Couple of years ago I had to walk 25-30 minutes to work. I listen to music while I work (can't work otherwise) so I was kind of tired of music to listen on the go too. That's when I discovered audiobooks.

But 2 years ago we've moved our office closer to my place and now I have to walk for 10-12 minutes only and that's too short for audiobooks. As far as I remember average book is about 600 minutes long so I would've had to listen to it for more than a month. So I stopped and walked in silence (read "city noise"). And I actually enjoyed it for some time.

Recently podcasts became really popular but I couldn't project the idea onto my daily routine. I can't listen to someone talking while programming and simply sitting staring at the wall listening to some podcast is ridiculous. But then an idea hit me that podcasts would be a nice replacement for my audiobook addiction.

The player - S2P

podcast_s2p I'm totally satisfied with HTC Audio Manager and/or Windows Media Player on my HTC Touch for occasional music listening. I never watch videos on my phone. So I didn't have any 3rd party players on my device. But podcasts/audibooks require at least one additional feature that neither Audio Manager nor WMP have - ability to resume your last played file from the same position. So I started a quest for the right player.

There is only one 3rd party player name that I had embedded in my head - CorePlayer. Based on feature set and recommendations this is considered the best media player for Windows Mobile. However it has way more features than I need (actually I needed a very tiny addition to WMP), costs $25 and there's no trial download. So I decided to look for alternatives.

Then I found PocketMusic Bundle ($20). It supports bookmarks which is most likely a more advanced version of what I needed. There's also a free version of PocketMusic (requires registration though) which I tried. There are no bookmarks in free version but options dialog has a checkbox labeled "Continue from last position on start". But either it doesn't work or I misunderstand it's purpose.

After looking at some other alternatives which had no mention of the feature I was after in their feature lists, I found S2P (pictured). The player looks nice (a bit rough around the edges and a little too inspired by iPhone though) and resumes from where it was closed.

So the quest is over for now.

Getting podcasts on your device

I've tried 2 apps to automatically download podcasts from their RSS feeds. One for desktop Windows - FeedStation. And one for Windows Mobile - HubDog. Both worked fine but I realized almost immediately that the nice thing about podcasts is that you don't have to listen to every episode of every show and so you definitely don't have to download every episode of every show.

So I ended up manually subscribing to RSS feeds in my RSS reader and downloading episodes I want manually. Then I created an automatic playlist in WMP11 based on "Podcast" genre and set up automatic synchronization of this playlist with my phone. Works like a charm.


Currently I'm catching up on only 2 shows:

  1. Hanselminutes by Scott Hanselman. Very nicely produced podcast mainly focusing on Windows and web development related issues with occasional forays in other areas. Episodes are 20-40 minutes long which I think is quite optimal size. I would say 25-30 minutes would be perfect for me (one day's walk to and from work)
  2. DotNetRocks with Carl Franklin and Richard Campbell. As the title implies it's focused on .NET and related stuff. The episodes are too long for my taste (usually a little longer than 1 hour) and the flow is not as good as Hanselman's but interesting and educational nevertheless.

I'm not looking for many more (since I have up to 25 minutes a day for podcasts) but once I finish with "back catalogs" of these two I think I'd like to add a couple more to this list. So, your recommendations are welcome and highly appreciated. Subjects I'm interested in (in no particular order): programming in general and web development in particular, windows mobile software, photography, popular culture (music, movies, books, etc.). So if you know a really good podcast along these lines, please, let me know.

Tags: , ,

BlogEngine.NET Extension: In-line Tags

5/7/2008 5:40:25 PM

One more BE.NET extension from me. I decided to write it since Diarist works with BlogEngine.NET now but it doesn't let you attach tags to your post. And I think that's not the only one way to post to your blog without the ability to specify tags.

So this extension allows you to specify your tags in the content of your post. Simply place a code like this in your post:

This post for example would have a string like this

Download InlineTags Extension (1.5kb)

kick it on

Tags: , , ,

Parental Control: Windows Live Family Safety

5/7/2008 3:24:14 PM

My daughter is 8 (soon to be 9). She has her own PC for a couple years now. Until recently she only played the games I installed, painted with Wacom/ArtRage and played online flash games on a couple of sites. But some time ago she started "discovering the web" on her own and question that interested me theoretically for more than a year became really practical: how do I protect her (read "control") from the evil sides of the Internet?

After some research (not much actually) I came to conclusion that no one provides such an end-to-end solution like Microsoft's Windows Live Family Safety.

What is it?

Basically it's a small app you install on XP or Vista PC and a web application to control it. You can limit what sites your child can visit, approve/filter her Live Mail/Hotmail contacts, Live Messenger Contacts, etc.


It also integrates to some extent with Windows Live Spaces so your child can blog, share photos with friends, etc.

How does it work?

You need to have LiveIDs (Microsoft's accounts) for all the parents and children and add them in appropriate roles.

Then you set up what your child sees by default. In my case recommended settings (for children 0 to 10) were to block all the sites except kids friendly sites and those explicitly allowed by parents. Now when Daniela wants to visit a site that is neither known to be kids friendly nor in her allowed list she is presented with a page informing here about that and 2 options to ask parents permission. She can ask by filling a request and then you can approve or reject it in web interface or, in case you are at home, she can just call you and ask to approve the site simply by logging in with your LiveID and clicking "Approve". You can also monitor what your child browsed and what attempted to browse but was blocked.

I haven't played with contacts management yet but I assume it's done in similar manner.

What I like so far

  • the system is easy to use and well integrated;
  • all the main bases are covered: surfing, email, IM, social networking;
  • I didn't meet any major resistance from my child (unlike expected) :)

What I didn't like so far

  • there's no Russian or Lithuanian GUI (and probably not many other languages are covered, if any). It's not a major problem since there aren't many things for the child to read and it could be even good for learning English, but anyway I think the fact is worth mentioning. And, btw, when you go to download Windows Live apps it tries to play smart and detects your browser's desired language and shows you Live apps in that language only. And Family Safety is not included in the package if it's not in English. So make sure you download the English version;
  • all of the features are obviously tied in Microsoft's Live services. This is not unexpected but I wish there was some open standard (or is there?) to connect such filters and web services. Anyway now my child is stuck with Windows Live Messenger and I'll have to use it too (well, I'll still use Miranda, but with one more protocol). Good move, Microsoft :)
  • while FS blocks general search engines there's no kids friendly search engine by Microsoft (or I couldn't find it). There's no such thing by Google, too. Yahoo has so this is what we'll use for now.
  • I'm not sure if this is related to FS or this is just a Spaces feature, but you can't make your child's blog public at all. I understand that this is related to child's inability to understand everything about privacy issues and stuff but I think an option for pre-moderated public blog would be really nice to have. Cause now even I can't subscribe to my daughter's RSS feed.

Though the cons section looks much bigger than pros, but in reality I'm really satisfied with the solution so far and we'll see how it rolls.

Tags: , ,

Diarist 2

4/30/2008 5:26:53 PM

diarist I came across Diarist blogging application for Windows Mobile last year when I was still running my personal blog on LifeType. Unfortunately back then there was a problem posting using Diarist to my blog in Cyrillic. Kevin Daly (author of the Diarist) was very supportive and tried every possible way to solve that issue but unfortunately we were unable to solve it and I had to postpone blogging from my phone until the planned and delayed (due to my laziness) move to BlogEngine.NET.

Now I've moved to BE.NET and Yesterday I finally decided to try Diarist again. However there was a problem adding my blog to Diarist. It looked that there were some misunderstandings in the encoding department between the two. The most frustrating part was that I clearly remember that I tried Diarist with BE back in 2007 and it worked. Anyway I contacted Kevin and once again he was on it almost immediately.

Less than one day have passed and voila - new fixed version of Diarist is released!

Now, I provide support for a couple of projects (1, 2) and try to do it in a timely manner but Kevin's speed makes me blush.

Keep up the great work, Kevin and thank you very much!

Tags: , ,

Slug Transliterator Extension for BlogEngine.NET

4/28/2008 3:17:51 PM

While I'm at it, I decided to write another extension for BlogEngine.NET. Those writing in English or in other Latin alphabet language only aren't probably familiar with this issue but everyone else is (I think).

When you create a post in Russian (for example) with title like "Привет, мир!" ("Hello, World!") you get automatic slug and (as a result your post link) looking like this:


This doesn't look much better then the GUID version if you ask me. So, this is where SlugTransliterator comes to rescue. After this post passes through this extension this URL will look like this:


A little better, don't you think? I don't know if it has any positive effect on SEO related aspects but it's definitely much more readable and rememberable (is this a word?).

By default SlugTransliterator is configured to transliterate from Russian (Cyrillic) and Lithuanian (Baltic) titles. But it can be configured to do any sort of char-to-char translation using Extension Manager.


SlugTransliterator for BlogEngine.NET v.1.0 (2.5kb)


Just copy SlugTransliterator.cs to your App_Code/Extensions directory and configure in the admin section as you see fit.

Hope this helps someone. If not, I did it for myself anyway :P

kick it on

P.S.: you may also want to use this extension to transliterate * symbol which results in bad URL in current (1.3) version of BE. Default configuration translates "*" to "-"

Tags: , ,

Cross-post to LJ 1.0

4/25/2008 12:27:06 PM

Just a quick note for those who subscribe to my RSS feed and who's reader doesn't show updated posts:

I've released an updated version of Cross-post to LiveJournal Extension for

Tags: , ,

Cross-post to LiveJournal Extension for BlogEngine.NET

4/24/2008 7:07:00 PM

Some time ago I decided to cross-post all my blog posts from various blogs to my blog at LiveJournal. I used cross-posting plugin for Windows Live Writer by Daniel Cazzulino for some time but then it stopped working with newer releases of WLW. So after toying with idea for some months I decided to write an extension for BlogEngine.NET to do this automatically.

Update: 2008-04-25: I've updated the extension to version 1.0. Here's what was added/fixed

  1. FEATURE ADDED: username, password, xml-rpc url and prepended text could now be edited in Extension Manager
  2. FEATURE ADDED: tags are now cross-posted along with the post
  3. BUGFIX: LiveJournal assumed that posts are in ASCII. Though they were stored and displayed just fine, it wasn't possible to correctly edit them in LJ. Added ver=1 protocol version number.

Note that you will need to configure the extension in Extension Manager after installation

Download it: (2kb)

I've used excellent XML-RPC.NET library by Charles Cook so you'll need that too.


  1. Download XML-RPC.NET library from
  2. Copy bin/CookComputing.XmlRpcV2.dll to Bin directory of your BlogEngine.NET installation
  3. Upload the files in App_Code/Extensions/ directory to the App_Code/Extensions/ of your BlogEngine.NET installation
  4. Configure the extension in Extension Manager

Known limitations/issues

  • In case your post includes relative URLs in links or image source attributes they wont work. I use WindowsLiveWriter for most of my posts and it inserts images with absolute URLs so this is a minor problem in my case
  • Only new posts are being cross-posted. Cross-posting updates adds too much overhead in tracking IDs, etc. so I don't plan to do this in the nearest future.

Other APIs

I plan to create similar extension for MetaWeblog API if someone needs it. So, again, let me know if you do, so I don't waste time for no reason.

kick it on

P.S.: here's this post cross-posted to LiveJournal using this extension.

Tags: , ,

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