Conference Manager for Maemo

A post after a long time now! The last I wrote for my blog was in April. And it is August now. Probably one of the longest breaks in my blog writing career. But I was busy with work as usual. Then with my vacation and then with my new passion in Maemo. In case you are not aware, Maemo is the OS running on Nokia’s tablets namely the N800s, N810s and N900s. I recently purchased an N900 and am a lot involved with the upcoming MeeGo platform. MeeGo is a conglomeration between Nokia’s Maemo and Intel’s Moblin (as well as Linux Foundation of course). Intel had given away Moblin to Linux Foundation by the beginning of this year. Maemo was not able to lure application developers and did not contribute that much to Nokia’s app store (OVI) plans. So I think it was a good move to get together with Intel and create MeeGo isntead. I personally though would have loved if they didn’t create a new distribution and instead optimized something already existing (Linaro definitely was announced a bit late though). Some decisions of MeeGo running an RPM based packaging policy also puts a kind of hurdle for Debian loyalists like me. But anyways, for the moment it is Maemo 5 (also known as Fremantle) running on my N900 which has a deb packaging policy and which is what I am really familiar with.

I have to attend a lot many conference calls everyday and it is quite cumbersome to type in all the different conference codes and follow the other procedures before you are actually placed in the call. And all the time, you need to have the various codes in front of you. And lets say I am placed in a call and I am taking the call from my car. Now if my call drops (and I do know the spot between Malmö/Lund on E22 where there is no signal in Telia), I am not able to log into the call even if I have details on a sticky note in front of me. Of course I am driving and don’t want to get off my eyes from the highway for too long. These and other issues eventually led me to write the Conference Manager. To be frank, it was my colleague Joakim’s idea. He had developed a similar application for his Android device. And I wanted one for my N900 so I invested a couple of days from my vacation in July to code the application.confmgr

Maemo 5 development is a bit of a headache to setup at first. I will write about that later. But I got scratchbox up and running my Ubuntu machine. I used QT4 for development since it is also supported on MeeGo. All the UI and data structures are using QT4. The actual tasks of dialing a call, sending in the DTMFs, etc. is done using DBus calls to com.nokia.csd.call. There was a little problem finding that out since initially I thought I had to do something with Telepathy. Anyways, the most time consuming part of the application development was probably testing on the device. I somehow was only able to connect via WiFi to my N900 and it usually took a lot of time load the application in debug mode. Of course I was using QT Creator for the purpose. But now should not complain much. Nokia has promised to have a better integration between scratchbox and QT Creator in the future releases.

 

I have released the code under GPL. It can be found at: Conference Manager Source Code. The alpha release is available on the garage project at: https://garage.maemo.org/projects/confmgr. . The code is fully functional and I have had no problems for a month of use now. I will probably add a couple of features more and promote it to a 1.0 release soon (or when time allows). In the meantime, the project is also hosted on the Fremantle extras-devel and extras-testing repositories at: http://maemo.org/packages/view/confmgr/. After a 10 day mandatory quarantine, I suppose I could promote it to extras and later on to OVI. The code is self-explanatory and the best part is that the software works with any conferencing system. Of course you need to figure out how many steps and how much delay between various steps needs to happen. But that is a one time activity and after that everything is automated. The 1.0 release will also have an option to use templates i.e. the conferencing system steps and delays that I have already tested with. The profiles are stored in an XML file in the MyDocs directory. And you can have virtually innumerable profiles (atleast as many as the QList can hold).

So have fun using it and do give some thumbs up on the Fremantle repositories. I would also like to have your feature requests and bugs if any. Hope you enjoy the screenshots and the application better still.

Business Ecosystems & Symbiosis

It has been quite some time since I last blogged. Of course I can blame Al Qaeda for that or better still write about stuff that is really useful for the reader! Now now, I don’t say that one should never blame Al Qaeda 😉

The title of the blog says a lot on what I am going to write about today. It is all about business baby. A good successful business always generates money (otherwise it is termed as charity, I will touch that topic in some other post). After working for around 8+ years with technology companies, I am pretty sure that one doesn’t need to be a geek to have a successful business. One can be a successful packing box provider if they adhere to the basic values of doing business. Business as we all know is a symbiotic relationship between various entities that creates and maintains an ecosystem. The thriving, survival and prosperity of the ecosystem is pretty much characterized by the level of trust, maturity, quality, reliability and expectation fulfillment on part of the producer entities with respect to consumer entities. Beware that I am including the consumer entities as active and highly volatile members of an ecosystem.

Most businesses today do consider consumers as a part of their ecosystem. Some of them even try to lock-in these entities in order to stabilize and reduce the uncertainty levels as well as maintain a steady non-variable flow of income within the ecosystem. If I am to draw a simple visual picture of the entities and flow of income, it would be something like below.

image

It looks like a star and that is what it takes to have a thriving ecosystem. The connecting lines all show symbiotic relationship between all the entities. Cash flow and requirements fulfillment also go hand in hand. In some cases, the relationship with consumers becomes a bit more parasitic. That kind of a change is of course detrimental to the overall ecosystem as such. Similar are the relationship with Partners and Suppliers for the producers and investors. Logistics, material handling, requirements management, deliveries, pricing, competition, research, technology, enhancements/improvements, packaging, lifeline timeframes, etc. are also a part of all this. I haven’t shown competition as a dire part of the ecosystem since it is an external entity that has a definite impact on the ecosystem balance.

Consumers more or less are considered a weak/volatile part of the ecosystem. Or as some businesses sees it, as an entity which can be squeezed to get the money juice. Such a business foresight is not only unethical but can be devastating in the long run. All these entities except the Producers can be a part of many different ecosystems producing an ecosystem mesh. Such ecosystems will have a balancing effect on each other most of the times. And an ecosystem mesh is a healthy fabric which is not the case with monopolistic ecosystems. Many a times, partners and suppliers would be seen as competition by the producers due to their short sightedness and/or limited understanding of the ecosystem mesh. Such a perception might ultimately be harmful for its own market/ecosystem and its entities.

The post is getting longer but I hope everybody is getting the point that I am trying to make. I have not seen many businesses willing to understand the mesh. They just want to earn money, make their investors happy, keep their customers, partners and suppliers to themselves and in the long run take control over everything (possibly except their products). But that kind of a strategy definitely leads to parasitic behavioral tendencies within the ecosystem leading either to annihilation of other ecosystems (leading to a monopolistic system) or self-consummation of the current ecosystem.  Both the cases are not healthy for any businesses.

That’s all for now folks!

Activity App v0.1 – Takes Screenshot and sends to an FTP server

 

I have downloaded and installed the latest Visual Studio 2010 and my fingers were not staying away from the keyboard to start it up and do something. As discussed in my post Forum Post – Activity App – Takes Screenshot and sends to an FTP server, I was browsing some freelancing sites and found a project which someone would like to be done for network user monitoring purposes. The idea is that an invisible app takes screenshots at specified intervals and sends it off to an FTP server / remote storage location for later analysis.

ActivityApp

The activity app user interface looks as shown on the left. All these settings for the time being are stored in the registry but I plan to allow the app to fetch the settings from a settings server and keep it in memory. Again, one of the things that I would like to do is to allow only the System Admin i.e. person running the app from the settings server to only see the user interface. The FTP connection is not persistent and a user cannot as such detect such activity if he does not specifically look at logs or monitors his connection. Right now, the connection is done using raw FTP so packet capturing utility on the user’s PC can basically get the uname/password easily. We can in future do an SFTP connection instead.

 

I have a list of features that I would like to do in the future versions listed on the forum post. You can download the activity app binary using the following link Download Activity App.

 

On the forum post, you can find the link to the source code if one needs it. Some of the things to learn from this code would be

– How to store and retrieve registry settings

– How to use HTTPResponse classes in C#

– How to capture a screenshot of the current screen, etc.

 

Enjoy and have fun computing…

Visual Studio 2010 and .NET Framework Beta 2 Available for download

This is for all my friends who want to try out the new VS2010 from Microsoft. It is available for download from Microsoft’s site at: Microsoft Visual Studio 2010 Ultimate Beta 2. You can also download team elements and other stuff. Start coding and testing early. The Beta will expire on 30th June 2010. So it is a lot of time to do some serious coding with this package. This definitely is one of the good things that Microsoft is doing. Of course the final version might be incompatible with this Beta but hey, I can’t rant in this case :).

I have downloaded and am currently installing the package. It is taking an awfully long time but as I said, I am happy they are providing it for trials before hand and giving us a test of the stuff that has been cooked. Enjoy and be prepared for some 2010 code being published on this site.

Windows 7 – Packaging stupidity at its best

I received my free upgrade from Windows Vista Home Premium to Windows 7 Home Premium. Of course the free upgrade was free (as in beer) where I had to pay for the shipping charges, etc. which were more then standard shipping charges (around 17 USD). The other thing was that since I am living/working in Sweden, I got my upgrade in the Swedish language. The stupid thing about packaging for Windows 7 Home Premium (W7HP) was that one cannot change the language of installation. Now that was something which was available in Windows Vista Home Premium (WVHP) edition. No idea why it was removed from Windows 7. Maybe UI language elements were hard coded! I searched the net to find out that Microsoft only allows for language changes in Professional and Ultimate editions. That is not very nice to you Mr. Microsoft. It is stupidity to believe that all users in a particular region would want their OS base language of that particular region. But you may ask me as to why I did not order the English version of W7HP when I was ordering the upgrade? Well because I bought the desktop in Sweden and so it came loaded with a Swedish version of WVHP. Hence it automatically selected the Swedish version of W7HP because of Microsoft’s stupid policy to provide upgrade to Windows 7 in the same language as was in Windows Vista.

I clearly mark this as a packaging stupidity. Why would one want to upgrade to a Professional (upgrade from W7HP to Professional costs 180 Euros) or Ultimate (upgrade from W7HP to Professional costs 280 Euros) versions for changing their base language? And all OS vendors supply multiple base languages even in their minimal editions. The other packaging stupidity was the online user’s manual which was provided with the upgrade. It mentioned that one can initiate a fresh install or upgrade but never ever mentioned that one needed to boot from the upgrade disk to do a fresh install. So if users simply start Vista and start the process, they are not able to do a fresh install on their C drive. But they have an option to do it on another partition. Now WTF would I do a fresh install on another partition and not on the same one as my old Microsoft OS? That is a question someone needs to ask Microsoft.

After the upgrade, things were looking OK. I needed to change my GUI language to English as my Swedish is very bad. I found Windows MUI (Multiple User Interface) Language files but they are not available for W7HP. Instead there is something known as LIP (Language Interface Packs) which are allowed on W7HP. These packs when installed will translate the base language to the pack language. Great, but I didn’t find an LIP for English. Yes, there is one for Great Britain which would work for me but hello, the base language needs to the US English for that LIP to work! DOUGH! So I am still stuck with the Swedish language.

In short, if I needed a legal upgrade from my WVHP to W7HP then I was stuck with Swedish as my base language. And don’t just let me get started on other versions. The best thing I did was to switch to Linux as my main OS. I anyway need Windows to play games only. And once I get my PS3, I would not even need that. Another of your loyal users is leaving you alone.

Indeed Microsoft, I congratulate you on your stupidity. Does not surprise me that your OS share in the market is going down. Microsoft has provided a lot of good things to the world. But since the last couple of years, the level of stupidity has risen a lot. Some of the major goof ups include Windows Mobile and Windows 7 bases. I do swear today that the day I am able to play my games on other OS, I am switching over fully never requiring a dual boot / VM.