Archive for the ‘Software Development’ Category

I haven’t actively developed moBlog for sometime now. I think it has been about two years since I did anything on it.

But according to my box.net statistics, it is still being downloaded. At least once a day. And occasionally I get requests for features and asking me if I am planning on a new release.

I have been toying with the idea of open sourcing it for sometime now. I am not sure why I didn’t consider it from the beginning. I think it could have gained a lot of momentum had I done it before.

But as the saying goes, better late than never, today I am making moBlog open source. I am uploading the source to codeplex as I write this.

The codeplex url for moblog is: http://moblog.codeplex.com/

If anyone needs any help in setting it up just shoot me a line and I will walk you though it. I will add the instructions needed to get it working on to the codeplex site eventually, as soon as I get some time to write it.  I would also do a roadmap if there is still interest for new features.

If someone wants to join the team and develop the app I welcome you! It would also inspire me to contribute more.

The reason for moBlog becoming inactive was due to my shift from a WM device to an iPhone. That left me without a real device to test the application. When I did the shift I searched for a similar app for iPhone but found none that supported all the platforms that moBlog supported. There is an official WP app for WP blogs, but I couldn’t find a good free app that supported blogger and live spaces on iPhone. If anyone can direct me to one I would appreciate it.

Also, if there is a free version of an app that converts the .NETCF app to iPhone compliant code, I think moBlog will be quite popular among iPhone users as well. I was thinking about porting moBlog to iPhone but I don’t have a MAC to do the coding. So that idea never saw the light of the day.

 

I upgraded my old Acer Aspire laptop to Windows 7. This is the second upgrade it went through in probably a space of three months. Earlier I upgraded it from Vista 32-bit Home Premium to Vista 64-bit Ultimate.

So far this has done gone through any serious performance tests. I am still setting it up. Installing software and tools that I need to out it to any kind of effective use.

But I am going to put it through some tests pretty soon. I have hooked up my normal use lap top to a LCD monitor so it is currently acting more like a desktop now. So maybe it is time for me to start using this (I am blogging from the Win7 machine) more as the mobile computer. Only thing that prevents that is the pretty bad battery life this machine has got.

I always wanted to put this machine to effective use rather than just keeping it collecting dust as a backup machine. I think this still has a good two to three years of life left in this.

When I setup Vista 64-bit on this earlier I was going to use it to sharpen my RoR skills on it. I wanted to do something effective with RoR and was planning on using this as my non-MS development tools machine. But with me getting swamped with work, RoR was a non starter.

But with Min7, I also installed VS2010 Beta 2. So at least this time I will use this to test drive VS2010 and to start migrating some of the projects to VS2010. So hopefully, this time this machine will be used more frequently and will see me reaping performance out of it.

The mobile platform war seems to be heating up. So far, the dominant player was Symbian. But there are quite a few challengers to Symbians dominance. MS’s Windows Mobile is now a force to be reckon with. They are getting quite a good market share on the higher end smartphone segment.

Google is trying to grab their share of the pie with Open Handset Alliance and Android. There is LiMo, which is challenging Google and the established rest of established players as well. Then there is Apple with its phenomenal iPhone.

There in lies my problem. For quite sometime I have been convinced that mobiles are the future. I mean even if you just compare the numbers, there are far too many mobiles than computers. And apparently around 14 mobiles are sold in the world every minute. That means its growing.

The carriers also are now concentrating more on revenue from data and hence are promoting applications that will entice users to use more and more mobile applications. So if you are into software and are looking for new ideas, then mobiles are the way to go.

Most of the mobile platforms that are in use today are either proprietary or are Symbian based. Which makes my .NETCF skills more of a niche. Therefore I kind of figured that if I ever seriously consider developing a mobile application that has mass market appeal, I need to master Symbian (as of now). But with the emergence of all these new mobile platforms, is it the way to go?

What I would really like to see is MS making their WM platform open source, and then it becoming the defacto standard. That will push my .NETCF skills from being niche to mainstream. But that seems very unlikely, specially it is highly unlikely that they will make their OS open-source and secondly, even if they did….

But one thing is certain. I need to brush up my Java skills! Be it Android, Symbian or Limo, the common thing they share is the ability to write programs for them using Java! Man how I wish it was C# instead!

After a long silence on the moBlog front I finally got sometime to work on moBlog. The following are the enhancements done to moBlog:

Ability to work with published posts 
Now moBlog allows you to retrieve the latest 20 published posts in your blog. After retrieval, you can amend and re-publish them via moBlog. You can also delete a published post after retrieval.  You can retrieve the published posts via the Open Posts option. In that screen there is a drop down on top of the screen with the following options:

  • Saved Posts – locally saved un-published posts
  • Published Posts – retrieves the latest 20 posts published on your blog.

Please note that moBlog does not locally store the published posts, so every time you choose the Published Posts option, moBlog retrieves the posts directly from your blog. So if you are charged for the amount of data you are using, be mindful of that.

Editing Enhancements
Now moBlog allows you to bold, underline and italicize your post content body. moBlog would insert HTML tags to the body so i advice you to do these actions at last otherwise your body will start to look like a HTML code!

Removal of ‘Posted by moBlog’
I used this pingback to promote moBlog. But since most of you have complained about it, I decided to remove it. Besides I could not figure out the actual visitors to my site and the pingbacks!

Hope everyone would give this new release a try as well. I have done a bit of tweaks to make blogging from moBlog easier and given more power to authors to post better formatted posts. I personally am not very fond of the text editors that are being used on moBlog, but in the absense of a better, more powerful and FREE editor control that can be used on .NETCF, I am left with no other alternatives. If someone can point me towards an editor that can be used,  I’ll be happy to incorporate that into moBlog.

Please download release 2.2 from HERE

Happy moBile Blogging with moBlog!

I have been an ardent and a loyal Windows Mobile user. There were several reasons for this loyalty. I come from a development background that is heavily biased towards Microsoft (read .NET). With this back ground I found it quite easy to develop a few applications for the Windows Mobile platform using .NETCF. So whenever I had the option to upgrade my mobile, I went for a Windows Mobile device.

But since I was given a Blackberry Curve in my current job I have fallen in love with the Blackberry. One of the facts that I love about it is the fact that the OS is more biased towards the usual phone style. Windows Mobile OS is more biased towards the usual computer navigation style.

And the other thing is it is definitely a lot better for Email on the GO. With Windows Mobile, you need to initiate an operation to check for new Mail. I know there are solutions to provide Push Email on Windows MObile as well, but these usually require special software and additional configurations to get them to work. At least I never could get Push Email to work on my earlier Windows Mobile device.

And the BB is a lot lighter and sleeker than most of the Windows Mobile devices. It is definitely aesthetically more pleasing than the Windows Mobile device I had and a hell of a lot lighter.

My next step is to port my mobile application development knowledge to the BB platform so I can write a few apps for the device. Most of the applications that were a bit hard to find for the Windows Mobile devices were easy to find for the BB. But still there are a few that I could not still find. So hopefully I will be able to fill that gap, starting off with the applications that I would like to have on my BB!

My only hope was that there was some kind of an emulator which allows to run .NETCF applications on the BB. Now that would be superb. That way, I wont have to learn java to write apps for my BB. Do you know of anything like that?

A couple of weeks ago I got a new laptop from office. It is a Dell Latitude D630 running Vista Business. I didn’t get much time to setup the machine, just did the bare essentials to do my day to day work. And during the last long weekend, since I had sometime in my hands, I started setting up my development environments on it.

I started off with Visual Studio 2003 as the main solution that I need to support on my new job is a ASP.NET 1.1 application. Through officially VS2003 is not supported on Vista, I managed to install and run it on my machine. I still havent done any debugging or anything yet, but hope I wont face much issues. In case I do, i do have another laptop running Windows XP, on which I have installed VS2003.

Then came my favourite IDE, VS2005. Installed the Professional Edition and WM5 SDK’s and tried to do some changes to moBlog. Managed to do the changes, but was not able to test it as I could not get the emulator to connect to the Internet. Also, since I have switched my mobile also to a Blackberry I did not have a device to test it on either.

Ended up installing an untold number of software on my laptop including Virtual PC, patches, WM6 SDK’s, you name it. But still I cannot get my emulator to connect to the Internet. The Windows Mobile Device Center (WMDC) only started to recognize the cradling of the emulator after I installed MS Virtual PC. Now, when I cradle the emulator, WMDC recognizes and initiated a connection. But still I cannot browse the Internet from the emulator.

When I try to browse a web site from it, I get a message saying that “Page cannot be found. Check the name and try again”. From moBlog, I get a exception saying that the remote host name cannot be resolved. I know the issue is with the connectivity between the emulator and machine. But right now I have run out of ideas. And I could not find much information on the Internet regarding connecting emulators to Internet using WMDC. All the articles refer to ActiveSync. But the information is straight forward enough to apply to WMDC, unless there are any specific things that you need to do with WMDC.

Any ideas or suggestions are welcome!

UPDATE: I allowed WMDHost (C:\Windows\WindowsMobile\WmdHost.exe) through the firewall and it happened to solve the problem.  Voila! Now my .NETCF programs can connect to the Internet through the Emulator!

moBlog has had a pretty good ride. There has been about 1000 downloads of both Pocket PC and Smartphone versions.

As I mentioned in my previous post, I fixed the issues and performed a limited testing. By limited what I meant was the PPC version was tested on a device, but the Smartphone version was only tested on the emulator.

So if you want to test the new and improved moBlog, please download the required versions from the links in this page.

Posted from moBlog – mobile blogging tool for Windows Mobile

This post is to test the latest enhancements for moBlog for Smartphone with wordpress.com.

These enhancements came about as a result of listening to user feedback. Though moBlog only has a small user base, they have been pretty active in using the application, suggesting improvements and finding bugs, all of which would not have been possible, specially with the Smartphone version as I do not own an actual device.

I was earlier paranoid about releasing the software as I had not tested it on an actual device. But after reading “Getting Real” by 37Signals and also due to the limitation of me not owning a Smartphone device I was compelled to release it only after testing it on the emulator. And the user community has been wonderful in reporting issues and suggesting improvements for the application after test driving it in various devices.

Thank you Nick, Pat and all the others for finding bugs and suggesting improvements. Please do keep on sending your suggestions.

Let’s make moBlog THE mobile blogging software for Windows Mobile!

Posted from moBlog – mobile blogging tool for Windows Mobile

There were several requests for a Smart Phone version of moBlog. Since the original moBlog application was designed for the Pocket PC’s form factor and it had used a few PPC controls, it was not working on Smartphones. And I heard your requests for a smartphone edition of moBlog and today I am happy to announce the release of the moBlog Smpartphone Edition!

I know this release was a little bit behind the PPC editions, but the reason was that I did not want to release a stripped down edition for the Smartphones. This released edition supports all the features of the moBlog including support for embedding images for blog posts!

So those of you who were using smartphones, go ahead, give it a spin and let me know what you think.

Get moBlog for Smartphones here

moBlog 2.1.0 had an error when you were trying to setup a profile for your Blogger.com account. This was due to a careless error on my part. Thanks so much to Hans and Pat who pointed out the error to me. I have now fixed it and have released version 2.1.1.

Enjoy moBlog with photo blogging support!

moBlog now supports Photo Blogging for WordPress and Blogger platforms!

It was the most requested feature for moBlog! Support for posting photos taken with device camera’s. As far as I know there aren’t that many mobile blogging applications that support Photo Blogging! Hope this feature will make moBlog THE mobile blogging application!

All you smartphone users, yes I hear you. You need a moBlog version that works on Smartphones! Hey, I’m on it! Your patience will be rewarded pretty soon! Now that moBlog is complete with photo blogging, I am on the task of converting it to work on Smartphones!

As usual, moBlog is still in beta. So please let me know if you come across any issues or have any comments! Looking forward to hearing from all of you!

Posted from moBlog – mobile blogging tool for Windows Mobile

The most requested feature for moBlog has been the ability to upload photos from the devices. Since most devices are equipped with a camera it makes perfect sense to enable photo blogging on moBlog as it will give people a quick way to get their photos in the devices to their blogs.

Of the blogging platforms that moBlog the easiest to get photo blogging working on was the on WordPress. WordPress supports Metaweblog API’s newMediaObject method and it worked like a charm. You can see the first photo uploaded from moBlog on the previous post!

Blogger now hosts the photos uploaded to the blogger.com blogs on Picasa Web Albums. The documentation vaguely mentioned something about Blogger creating a default album on Picasa for Blogger photos, but this web album is not accessible via the API. Hence I devised a crude method of creating an album for moBlog and uploading the photos to that album!

But the biggest disappointment was Live Spaces. Though they support Metaweblog API, their support of that is limited. Specifically they do not support the newMediaObject method. That was a pretty bad decision from the Live Spaces team. If they support a particular API, either MetaWebLog API or ATOM API, they have to support it completely. To make matters worse they do not provide any API to upload photos to the Live Spaces Blog.

I know that Windows Live Writer supports uploading photos to Live Spaces blog posts and similar to Google approach, those photos are stored in a seperate album on Live Spaces. But my problem was I was not able to find any documentation on the approach taken by Live Writer.

In any case, a new version of moBlog will be released in a couple of days with photo blogging support on Blogger and WordPress blogs. Along with that I will be releasing a few more enhancements to the post composition screen with the option to decorate the body of the blog posts.

Look forward to an enhanced moBlog!

Posted from moBlog – mobile blogging tool for Windows Mobile

Testing photo blogging from moBlog!

Posted from moBlog – mobile blogging tool for Windows Mobile

I have been thinking about what to do next with moBlog. Since the initial release and the subsequent bug fixed version, I have been thinking about where I wanted to take moBlog.

There have been a particular feature request from the those who gave it a try. It is to enable support for posting images to their blogs. Since most of the devices come equipped with a camera this makes perfect sense as it will be great to post those pictures that you capture from your phone. Actually it was something that I also thought of doing, even initially, but differed as I wanted to get the application out as soon as possible. So it is definitely at the top of planned features list.

I have a few other features that I wanted to incorporate as well. If you have used moBlog with WordPress or Livespaces you would have noticed that moBlog currently does not support tags (or labels) for that. Tags are only supported for Blogger posts. This is because I could not figure out, at least with the client code I was using for MetaWebLog API, how to pass the Tags to the API. So this is something I want to incorporate on to a next version: option to tag wordpress/livespaces posts.

Currently moBlog is a .NET Compact Framework application. This deprives all those non Windows Mobile device users of the option to use a great mobile blogging application (do you notice me blowing my own horn here??). So I was thinking about hacking out a moBlog J2ME version as well! Now that is easier said than being done as I have not coded Java in a long long time, let alone tackle the intricacies of J2ME as well. But I think that will be a pretty good challenge for me to get on to a bit of Java coding. I am hoping that coding on Java has become as easy as it is to code on .NET. After all, Java lobby kept on saying that C# was a copy of Java, so I am hoping that those similarities will work in favor for me, coming from a C# background.

But what I actually do next will more or less depend on the user feedback that I get over the next couple of days. Either way, I think an enhanced version for WM with option to upload images will come out way before any J2ME  version sees the light of the day.  But if the demand for a J2ME version out weighs the enhancements for the WM version, I might consider dedicating my time on to that. What do you say?

Since the release of moBlog most of the queries were with how to setup the application. It was evident that a help page was the order of the day.

Today I took the time to write a brief help page on setting up profiles, and also on settings to connect through a Proxy Server (in case you didn’t know, moBlog has support for connection through a Proxy Server!). Please find the help page here (moBlog Help)

As always any comments are welcome, good or bad!

moBlog has had a another release within the space of 2 days.

Since the initial release of moBlog, there has been over 150 downloads. Thank you for all those who gave it a spin. And a couple of bugs were also reported. As a token of appreciation to all those who gave it a spin, I fixed the bugs as quickly as possible and made another release, in order to minimize the inconveniences.

So what’s new with moBlog 2.0.3?

  • Bug Fix – There was a bug when you tried to open a saved post which had categories selected. This has now been fixed.
  • Bug Fix – When saved posts were opened, the paragraph breaks were lost. This has now been fixed.
  • Enhancement – An option to delete a saved profile.

Give this new version a spin and let me know what you think.

Happy mobile blogging!

msmobiles.com has just published a news item about the release of moBlog. You can find it here.

Today seems to be my release day!

Just released a new enhanced version of GMobileSync (1.3.6) which now has Proxy Support as well as a few bug fixes.

One major bug was due to Who.Rel being a required property since of late on GData API. GMS had not implemented this property before but since our last release updating GCal was failing since Who/Rel was made a required parameter. That is now fixed with 1.3.6 so your syncs should work like a charm!

Go ahead and grab yourselves the latest release and be in Sync with your WM Devices and GCAL!

Happy holidays!

It is official! Though it is in beta, moBlog is released. I have created a page for it on this blog.

Those who wanted to give it  a spin, please go ahead and let me know what you think. I would love to hear your feedback and comments. Looking forward to those!

moBlog is almost ready to be released to the public. This initial release will be released as a beta software as so far the only person who tested was me. Once I receive feedback from a few more folks who are willing to give it a spin, and fix any issues if there are any, then I will take the beta tag off it!

So far moBlog works with Blogger, WordPress and Live Spaces. From a technical point of view since moBlog works on both GData API (to support Blogger.com) and Metaweblog API (to support WordPress and Live Spaces). And technically moBlog will support any other blogging platform which has support for GData API or Metaweblog API. My intention is for moBlog to support as many blogging platforms as possible. If you there is any specific blogging platform that you need moBlog to support, please let me know and I will try to get it incorporated in a subsequent release.

We’ll this post is made from moBlog client itself. After a few more tests are done, hopefully within a couple of hours moBlog will have its official release!

I have been toying with the idea of creating a blogging application for the Pocket PC / Smartphone devices for sometime. i had done some extensive research on it sometime back, but due to limited time available for coding 4 fun (as I call my experimental coding activities) I had been pushing this idea away. But since I got myself a Windows Mobile phone, this need kept popping up.

My initial reaction was to go back to the applications that I had come across earlier and try them out on the phone. Well the fist one I tried refused to work on my blog unless there was an active Internet connection. This was a major limitation as I did not want to be online while I was writing my post. I know that GPRS/3G usage is charged for the actual traffic, but the downside was an active Internet connection on the phone drained the battery! So that experienced was very shortlived.

Then I did come across several other applications that allowed you to work offline, but I had small issues with them. Some I had issues setting up and running. They had exceptions. Some supported only one blog. I wanted something more as I have a couple of blogs. And I wanted my client application to support all of them without me having to delete and setup when I wanted to switch blogs.

 Also, I still had the urge to develop an application myself. With my involvement in GMobileSync now I was experienced in working with the GData API as well. So I went to work on my Mobile Blogging Application: MoBlogger.

Here are a feature list:

  • Multiple profiles
  • Multiple Blogs within a profile. So if your blogger account has multiple blogs setup, all of them will work!
  • Work Offline – you can work offline and save your posts for uploading later.
  • Supports labels.

Sounds great right? Well yeah… except right now it only supports Blogger! But I am working on supporting multiple blogging platforms! The immediate platforms on the radar are WordPress.com and Windows Live Spaces.

In the mean time if you would like to have a go at it, drop me a mail, I’ll be happy to send you an installation.

I have been busy and it’s not just been my work! I joined an open source project on codeplex. I had this idea to create an application that would sync a Google calendar with a Pocket PC’s Outlook Calendar. Then I was searching around to see whether there were similar applications around and came across GMobileSync which was an open source project on http://www.codeplex.com.

I requested the project’s coordinator to accept me as a developer and I was accepted. Then I took it upon me to fix a few of the bugs that were reported on the bug list. Then Eric, who is the creator of GMobileSync, told me that if I fixed two way sync, which is the most requested feature I will become the ‘hero’ of the GMobileSync world! That prompted me to put in my free-time towards fixing this issue / feature and last weekend, I managed to fix that. I made a release to codeplex and Eric has since released it to about 500 beta testers. And now I am awaiting for beta test results and keeping my fingers crossed that there wont be any bugs!

Working on an open source project has been pretty exiting. For one Open Source projects will give you the largest audience for your applications. Already the release I did has had 88 downloads for the space of one week. All this time the release was not even public. It was the beta testers who were invited to download and test. Hopefully the number will go up once the release becomes public.

GMobileSync has had about 40,000 downloads. Even if 10% were actively using the application, then that would mean 4000 people. You know it feels good to have an application where there is some little contribution of yours, being used by so many people. The difference in the open source world is that people will be appreciative about your work, unlike in commercial software. In commercial software, since they pay for the software, they tend not to show their appreciation!

If you had been looking for a tool that would sync your Google Calendar with your Windows Mobile device, then give GMobileSync 1.3.5 a try! And feel free to let us know your ideas for improvements or bugs!

Finally, thanks to Eric for accepting me into the project and letting me contribute. And to Lushi for tolerating my coding sessions that went into late in to the night 🙂

Out sourcing is a big business in countries like India and Sri Lanka is also playing catch up in the game. But in our desire to get into this game, we have overlooked one crucial factor. What happens when things don’t go according to the plan.

For most US or European companies, the main reason for going for out sourcing is the cost factor. But since of late, a new trend is also emerging. That is the exploitation of the out sourcing partners in Asia. These companies usually draw up their contracts stating that any legal action needs to be taken up in their countries. This immediately puts the out sourcing companies at a risk as litigation in US or Europe for a small company in Asia is a very costly affair. So it makes it sensible for these companies to absorb their loses and walk away from the situation.

The companies in Europe and US, knowing this very well, come to these companies and play a very dirty game of getting their work done cheap and at times for no cost. the out sourcing companies hoping to build lasting relationships go out of their way to delight these customers, which most of the time end up doing more than they quoted for in the first place. Then at the end, after all the hard work they put in, if the company in the west refuses to pay, citing some odd reason, the outsourcing companies are at a loss.

The downside of all of this is, although the governments and governmental agencies promote the out sourcing business as a major foreign exchange earner for the country, they provide absolutely no support in such situations, in terms of arbitration or escrow services. I think it makes sense for the government or the ICT Agency of Sri Lanka to step in and set up and escrow service with an arbitration panel to help the ICT companies in Sri Lanka who are engaged in outsourced projects to foreign clients.

But as the saying goes, once burned twice shy, these serve as lessons in dealing with foreign clients, so you can avoid getting into similar situations in future projects. Managing the clients is an art. And managing clients with a hidden agenda is both an art and a task that needs you to be two steps ahead of the client. I was

While we battle out our case with the clients who tried to fleece us, I hope the rest of the companies who are engaged in such projects, take the necessary precautions to avoid such pitfalls. And we are not going to easily let go of people who walk out on us with our intellectual capitol! Though they were very unethical on thier conduct, we are still trying to act ethically. But there is a limit to everything!

Last night was a memorable night for Affno. At the National Best Quality Software Awards 2007, organized by the British Computer Society Sri Lanka section, Affno walked away with THREE gold awards and a special award presented by CIMA Sri Lanka Section.

Our products won gold awards in both product categories we entered in as well as the overall Gold Medal across all product categories. It was a great moment for us as our products were adjudged teh best in their respective categories and or Expenditure Management System was adjudged the best software product among all the products that competed.

This year, unlike last year my involvement with the BCS Awards was minimal as I was away in Mauritius during the time the judging took place. I only briefly participated in the initial brainstorming sessions, but my input was limited to chipping in a few ideas. But the teams that presented the products have done a brilliant job. Good work guys. Also, i would like to congratulate the engineers on both the product teams, both past and present for building such high quality and award winning products. Guys your hard-work has paid off. You can be proud of the fact that your efforts have been recognized in a national scale.

I am proud to be a member of an award winning team! Way to go Affno! NBQSA 2008, watch out for us!