Archive for April, 2007

Short one on the GUI

When I decided to go on with this project, I wanted from the start to put emphasis on the User Interface. I knew it is not enough just to have ‘some’ UI, it has to be modern and rich in features, professional, nice looking. I was sure I need to buy a good GUI library, but as my budget for this project at the moment is limited, I was just google-ing to find what my alternatives are when the time comes. As I was looking for a MFC based library the requirement filtered a lot of the possibilities and basically narrowed the results to Code Jock and Prof-UIS. I had some experience with Code Jock from my previous employment and was more familiar with it, so I decided to spend some time with the Prof-UIS and to see is it as good as the competition. I downloaded the trial and had no problems compiling everything and all the samples worked right away. I was really impressed from the look and feel of the samples. I returned to the site to investigate a bit more about licensing and pricing, to find what is suitable for me and something that I noticed down their main page astonished me. They were offering a free license for translating Prof-UIS to your native language if it is not already translated. And I couldn’t find Macedonian on that list. I wrote them a quick email and got fast response back with all the details. In 2-3 days all was finished and I got the full license for latest Prof-UIS! This was really amazing. As for a Macedonian these type of products are overpriced having in mind the average monthly salary in Macedonia (somewhere near $300), but this time I was lucky. And as I type this I went to the Prof-UIS site again to have a look at their offer (I wanted to quote it here), but guess what, they reorganized the site. I am not sure is this offer valid any more, I don’t see it on the main site. Ha, maybe now when they have Macedonian in the Languages list they don’t need more languages? But for me this was a great win.

Comments

Initial planning of Blinksale/Freshbooks sync tool

As the wealth world is moving to Web 2.0 and Online Invoicing is getting more and more popular I saw (OK, I imagined) the demand (from users that are more comfortable with desktop application then a web browser) for a rich client application that will offer easier and more comfortable way to manipulate their online accounts. I my self am in the former group of users, maybe I am old school, but I still can’t get used to those web applications. I mean I use the web browser as a tool to explore the internet, to find the information I need, to pay some bills (yes that is even possible over here in Macedonia), to discuss on some forums and similar activities, but to work efficient with an application that is 100% in a web browser I still can’t manage. Chances that I am the only one in the world that feels that way are really small!

So, this is how I came to the idea to develop this application in the first place. Some short searches on Google didn’t return any relevant results for a similar program either made or in development. None, even not in the ads section. Oh my God, either I am the only one in the world that needs this application (I repeated it second time, I know) or there is a shortage on the market. Ha, what a great analyzer am I? I should repeat this one also later!

For me, web applications are still far beyond desktop applications. This waiting to refresh the page on every even small change is the main drawback. Even sites made with AJAX as gmail or their calendar, although very responsive are still not in the range of responsiveness as their desktop counterparts. Maybe I am so used to the desktop, I am programming for the desktop over 10 years now so maybe I am a bit subjective. I believe some younger programmers (not that I am old) that were starting with web programming opposite from my perspective find desktop applications as creatures from the past. Which I guess is normal. Different kind of people, different kind of programmers, different kind of users. All OK. As long I’m not the only one.

Now, is there a need for such a program on the market or not really doesn’t matter anymore because I already made-up my mind. I know it will not take me too much time to develop this program because I have most of the code spread around in classes (C++, if you wonder about the language) that are mainly easy to reuse, so why wait for somebody else to publish similar application before me? Ooo, if somebody else came to this same idea and is right now working on it, then definitely there are also users that are looking for this very same program, but can’t find it yet. Better I hurry up.

I already contacted Blinksale and Freshbooks support about their respective API. I wanted to make sure it is still valid and that they are working on it. They were both very supportive and answered all my questions and that added more fuel to the idea. While there is a difference in the approach how the requests should be send, both providers use XML to return back the results which is simplifying the things a lot. I am planning right from the start to support both of them and if another player comes around in the near future, I’ll consider adding it to my program as an add-on.

Here is a short initial list of what should be supported in version 1.

    While offline/disconnected

  • Creating new Invoice/Client with all the details and saving it locally
  • Modifying Invoice/Client and saving the changes locally
  • Marking Invoice/Client for deletion
    When online/connected

  • Synchronizing sending/receiving the changes made while offline
  • Making real-time changes, new Invoice/Client, modifying/deleting

Of course, login/logout to account, stay logged in several accounts and alike, these are small things that are easy to implement and will benefit the users a lot.
Listing/organizing the Accounts/Invoices/Clients in a tree and basic search functionality.

This should be about everything for the beta and if there are no specific requests from some users for something else will stay that way for the first release.

Comments