Today we chat to Martin from slimCODE, with some great apps in the Marketplace under his belt. We look at his apps and how he got motivated to develop for Windows Mobile. His thoughts about Marketplace and what slimCODE has in store for us in the near future. :)
Tell us a bit about yourself and slimCODE.
It all started on a Vic-20, when I was 14. A few months later, I was already making programs too large for the wobbling 3.8 kb of RAM available for programs. After a brief Apple II+ era, I moved to a PC running MSDOS. It’s all been Microsoft since then, an attachment strongly linked with the quality of development environments available for their platforms.
After graduating in Computer Science at university, not before some wandering in Chemistry, I became a software consultant for Hydro-Quebec, then moved to work with friends who had started their own company three years before: Xceed Software. They were making a Zip compression library, selling to other developers. I worked there for 9 years, having the chance to learn and work with many development languages. Xceed was part of the .NET early adopters, so I had the chance to visit Redmond regularly to participate in the beta programs and ask questions to the same people who conceived the .NET Framework. Clearly, my years of C++ and COM programming were getting to an end. I’d become mostly a C# and .NET developer from now on.
Three years ago, I left Xceed and founded slimCODE. My goal was to develop Windows applications for the general market, and complete my revenues with consultancy projects here and there. But the reality struck me hard. My main software, slimKEYS, wasn’t popular enough to pay for the hosting alone. Web development for customers kept me alive, but that’s not what I wanted to do for a living. Then, my presence became more and more required at home (personal reasons) so you could say I’m now a part-time software developer and full-time dad/husband at home.
I was developing some hobby software for an old HP Jornada for some time now, but the purchase of a new Windows Mobile cell phone (an HTC P4000, or “Mogul”) convinced me there could be some potential on that platform. That, and the crazy idea the popularity that some iPhone apps had on the AppStore could be translated to the Windows Mobile platform. That’s why I moved almost all my development time to the Windows Mobile platform.
Tell us a bit about your apps.
All my Windows Mobile applications have a common denominator: I use them. I’m the number one customer. They all came from a need I had myself.
First, there’s DutchTab. It started as a Windows application I named “Balance”, which I made for splitting lunch bills at Xceed. Later, a friend of mine (Pascal Bourque, senior dev. at Xceed/Loopycube) started a hobby project at home. He wanted to try iPhone development. He needed an idea and asked me if he could borrow the idea behind “Balance”. Not only was I glad to hand him the sources, I suggested we could join forces and make two applications: One for the iPhone, one for Windows Mobile. As an experimentation, we decided NOT to share the same design. We would develop on our side, only sharing the application name, icon and domain. That’s how DutchTab (www.dutchtab.com) was born. Though he won’t get rich with his version either, the AppStore proved that having a “on-device” store reaching millions or users was very beneficial. He sold about 500 copies since July 2008, half of them in the first month when the AppSore was launched. I sold less than 10, being listed on Mobihand and Handango.
slimPASSWORDS is a free application for managing a password list. The initial version was read-only, and served as a way to read a password list file created by slimKEYS, another product from slimCODE, a desktop app for Windows. Since it involves encrypting sensitive data using strong encryption, I decided to make the sources public (slimpasswords.codeplex.com) and give the application for free.
My wife and I like to drink wine. We had a list of wines we like and don’t like, in two exercise books. This wasn’t very useful at the liquor store, when shopping for wine. So I made RateThings. It’s a general purpose rating list system that lets you search and categorise stuff you like and don’t like. It allows you to take pictures of items, which is very convenient at the store when you’ll looking for that bottle with a particular label. You can add meta-data to each item. For example, I added a “Vine”, “Year”, “Country” and “Alcohol” field to my Wine category.
Finally, there’s GrocerySort. I’m doing most of the grocery, and I’m having a lot of trouble with the pen and paper lists. On paper, the items not scratched aren’t obvious. And that’s when you don’t forget your pen. I remember once, I made cuts in the paper to remember what I already bought. With a mobile phone, I started using Notes to build my grocery list. But when shopping, deleting entries you bought can become cumbersome, and you lose the list of what you bought. That’s why I made GrocerySort. It’s a simple grocery list manager, with a special twist. From one grocery to another, it will remember what you scratch first, and sort your subsequent lists accordingly. If you always buy bread before milk, it will show you bread before milk. While shopping, you scratch items with a simple click, and these items are moved to the end, so you can clearly see what’s left to buy, and in what order. You can import items from previous lists, and create virtual lists for recurrent groceries or recipes.
What is your day job?
I work from home for slimCODE. Though it would need some redecorating, I do have a dedicated room at home I call “my home office”, with all my toys, gadgets and papers. This setup lets me spend more time with my 7 years old son, now in 2nd grade. I have the luxury to take him home for lunch every day, and welcome him when he gets back from school in the afternoon in bus.
That gives me about 2.5 hours of works in the morning, and another 2 hours in the afternoon. I also work a little more in the afternoon when my wife is at home (her work schedule is variable) and late in the evening when my son sleeps (after 22h30).
You were one of the early adopters of Marketplace. Are you happy with it? Is there some things that you would want to be changed?
The Marketplace is a benediction to Windows Mobile developers. Finally, we can reach people right on the platform we’re targeting. Imagine if, in order to download, purchase and install Windows applications, you would need to interact with a second computer or device plugged into your PC. That would be stupid, right? Well, that’s what the Windows Mobile platform looked like. As if the “internet-connected” Windows Mobile devices weren’t a reality until very recently.
Unfortunately, it is also a painful experience. On the developer side, the web interface for submitting applications had many hiccups, wasn’t well thought, and is still lacking important features. For example, it is still impossible from the web management interface to read user evaluations.
Another painful aspect is the handling of the different markets. On the user side, it is impossible (yet) to see other markets, making the whole software title list incomplete anywhere. On the developer side, submitting for different markets is long and costly. I understand the need for a moderation ticket, and the 100$ US fee any developer needs to pay for entering the Marketplace. But the extra 10$ US for extra markets is a stupid barrier. I paid that extra fee for promising English markets like United Kingdom, Australia and India. But I have zero incentive to submit elsewhere, in other languages. slimCODE is a one person company. I can’t afford translation fees (yet), and can’t justify an extra 15$ CA per unknown market.
Those different markets are having another insidious effect. Linking to the web version of the Marketplace (marketplace.windowsphone.com) is not guaranteed to work for everybody. My web site does link to the Marketplace. But depending on your Live ID and region, I have no idea if you can actually see my products or purchase them from where you are.
Finally, what I think is the biggest flaw, the Marketplace does not allow users to install software to the storage card. That’s stupid. That’s plain dumb. One would assume that Microsoft knows and understands the ecosystem around its own Windows Mobile platform. It’s like they weren’t aware that most (meh, all!) Windows Mobile devices have poor RAM, and require an extra memory card in order to be usable in the first place.
We could add many other glitches, like the poor copy protection, lack of dialog with people submitting comments, vague submission criterion, etc. But we can all hope and expect the Marketplace to evolve and improve.
At the same time, that’s where you lose me. Apple started with nothing, sat down at designing their AppStore, how it would work, what it needed, and got most right. Microsoft started with good examples, very good clues about what to do and what not to do. They had time, they had resources (or at least they should have had resources) and yet, they delivered an half-baked, half-thought solution. They have no excuses. When you copy, you must do better.
You used to develop apps well before Marketplace. How has being listed in the Marketplace been for the sales of your apps.
Except for DutchTab, all my applications were released at the same time or after the Marketplace launched. So I have a minimal comparison point. But it’s clear that my applications are reaching and will continue to reach far more people right from the device. Buying right from the Marketplace calls more upon instinct, and is easier than visiting MobiHand, Handango or PocketGear, browsing ugly and heavy web sites filled with advertising and irrelevant stuff, purchasing via painful and long carts, and installing applications manually or by physically connecting your device.
So I’m convinced the Marketplace is a better solution, though incomplete, than software web sites. I’m all for simpler and unique solutions, where all the potential traffic is redirected, and my applications get a cleaner exposure. It also makes my life, as a developer, simpler. No more desktop installer, no more submitting updates to multiple sites, no need to develop updaters within applications (though update notification is still a plus), etc.
But number-wise, it all ends up to a simple conclusion: It’s not enough to make Windows Mobile applications, you need the good idea, you must address a user’s need. I’ve seen it with GrocerySort, which is getting far better results than DutchTab or RateThings, even though it’s more expensive. I still think RateThings could do better, I use it myself as often as GrocerySort. Maybe it’s just not well-marketed.
Why develop for Windows Mobile?
I’ve asked myself that same question, many times. And friends working or familiar with the iPhone and AppStore are also trying to push me to that platform. Why not make a GrocerySort app for the iPhone?
Well, to be honest, it’s mostly comfort. I’m afraid of moving outside my comfort zone. I’ve been developing for Windows for 18 years now, ever since Windows 3.0. It’s a platform I know, I master well. Also, I really fell in love with the .NET Framework and C#. It’s (mostly) the kind of framework I would have invented if I was working in that area, and the programming language I’ve been the most fluent with (and I’ve used many, trust me!).
Also, the DutchTab experiment forced me into implementing three important libraries. First, a data layer. I wanted to avoid dependencies over SQL Compact. I thought it was too heavy for most needs. Second, a View-Model-Controller library for managing screens. The .NET Compact Framework and its WinForms implementation is not well suited for Windows Mobile. Having multiple forms one above the other does not fit well. So I made myself a library that manages screens. Third, and most important, a control library. The system controls available on Windows Mobile 5 and 6 (a little less on 6.5, but still) are awful. They’re ugly and they’re not touch-aware. Mainly, I needed a touch-scrolling list. So I made myself a control toolkit with the main control being a touch-enabled list control. With those three pillars implemented, moving to another Windows Mobile project was a breeze, and I wanted to build upon the time I invested in them.
I did look at MonoTouch, and it does offer an interesting avenue for me in the near future, but for the moment, I’m blindly waiting for Microsoft to do a miracle with Windows Mobile 7. I expect to be able to use Silverlight for the UI, and the platform to finally jump into the multi-touch and multi-input era. You can call me lazy, I call myself optimistic.
Is there any new app being tested out at the slimCODE labs :) ?
Sure! First, I’ve grown tired of existing file explorer applications for touch devices. None of them work as well as I’d like them to. Sure, they have tons of features, but for the 25% I actually use, too many are badly implemented. So I’m working on a simple file explorer. Even though the “file and path” paradigm is one that should be put off once and for all, it still is a reality on current platforms, and is still an important need for my number one customer: me.
Another application in development is a game, based on blocks and g-sensors. I can’t say much more yet, but I plan a beta version in Q1 2010.
Editorial Notes : We hope Microsoft is planning more updates to Marketplace to iron out the issues faced by developers and consumers. Storage card issue has to be on top of the list. Its a shame to see that it has not been resolved yet. We agree with you on WM7, a lot is riding on how good WM7 will be and it will be a make or break situation of Windows Mobile.
There are only very few Indie game developers on Windows Mobile. It is great to see devs like you jumping in and giving it a go. All the best and looking fwd to seeing your games and apps.
We would like to thank Martin for taking the time to answer these questions :)
If you guys have any questions for Martin you can post em here or get in touch with him via his website http://www.slimcode.com/.
Checkout Our Sponsors





















{ 5 comments… read them below or add one }
Look at this
“….iphone app 500 copies were sold and WM managers to sell 10.. ” The developer should stick to iPhone development and ditch WM
Why would this developer want to produce software for an outdated stone age device?
Makes no sense, iPhones days are numbered!
Give me one reason why ?.. just one ..
Are you serious? Outdated hardware for one, cpu, memory, camera, gps, screen, resolution basically every component of the iPhone is sorely outdated by it's WM counterpart. Even the software is dated by todays standards, iPhones weather app is embarrassing comapred to hd2 etc.
I can tell you really love your phone but there comes a time when you have to accept its outdated and move on. iPhone was amasing technology which brought about many changes in the mobile world but that was 3.5 years ago. Apple hasn't kept up with competition.
A phone that couldn't multitask would be absolutely useless to me on so many levels.
Thank you for such a informative blog. Where else could anyone get that kind of information written in such an incite full way? I have a project that I am just now working on, and I have been looking for such info.
{ 1 trackback }