mack - 5:44 pm on Mar 12, 2010 (gmt 0)
Today was a bit of a learning day. The problems I had to overcome where getting my address book from my Android based phone (HTC Hero) to my computer, and I also wanted to find a development environment that I could use to build simple apps on Linux.
When you connect an Android phone to a PC running Linux it will recognize it as a storage device. It will let you drag and drop files between your computer and the phone, but it doesn't actually do any synchronization work. It has to be said the same is true for Windows. To sync my phone I had to install HTC sync on my Windows based PC. I done quite a lot of searching and there just doesn't appear to be a lot of options out there regarding synchronizing contacts.
One thing that did come to mind, and to be honest its a bit of a no brainer is to use the cloud. An Android device will easily sync with your Google account. You can then expert your contacts from Google to your computer in a verity of formats. When I choose to export them as a Vcard, the options I got where save or open with Korganiser . It just so happens Korganiser is part of the “Kontact” suit that I use. All my contacts where imported without error.
I know this isn't exactly Synchronization, but for now it is the best I can come up with. When it comes to updating contacts the best option will probably be to remove the entire address book locally and import a new Vcard from my Google account.
One thing to note is that in order for your contacts to be synchronized with Google they need to be enabled as Google contacts within your Android contact manager. It is only Google contacts that will be synced. Other contacts are purely stored locally on your phone.
A few people have mentioned that I am looking at this from a Windows user point of view, and in fairness I am. I have used Headless Linux boxes in the past where the only access I had to then was via shell. Uusing shell is a very effective way of controlling a system. In this case the system is a pure desktop computer, so I think it is a good idea to keep things as simple as possible. Its quite important to note you can do a lot more damage using shell, if you aren't 100% sure what your doing. Especial if you happen to be logged in as root! I remember years ago trying to do a force removal of a file using -fr and I hit return before I had finished typing he full file path, I ended up wiping out a large chunk of the file system.
I think it is useful to be able to use the console, even to do simple directory browsing and file editing. For example within console typing “ls” will display files and folders at your directory level you can use “cd” to change directory and so on. Most things that a typical user would need are right within the UI.
I Mentioned yesterday that I have been looking for a software development program that I can use to build simple applications. On Windows I use Visual Studio, currently I am trying to learn QT.
QT has a very similar user interface and the GUI builder works a lot like the Windows forms constructor you would use within VS.net. There is however quite a large learning curve. I am not a programmer, so working within the code view of QT does take quite a lot of getting used to. The documentation is however very good. I think I will be able to use it, although so far, all I have been able to use "well" is the GUI builder. I have been trying to build clones of some of my simple Windows applications.
There was a slight fail for Ubuntu during the install of QT, it didn't install all the external tools. I had to look in the build errors to find out what was missing and go to the package manager to install them. Gmake was the missing dependency.
Another IDE that I installed was Eclipse. I don't think I will be able to use this because I simply don't know where to start. I know my limits, and that goes way beyond :)
Going back to my Android phone, it is worth noting that you can tether your Internet connection over USB with no modifications at all. All you need to do is connect your Android based device, then on the phone go to...
Settings > Wireless controls and check the box next to “Mobile network sharing”.
When you do this it will show up as a new network connection and you can use this just like any ather connection.
The lack of true sync between Android and Linux is quite frustrating. When you think they are both open source and both Linux based it should be possible. I imagine the sync procedure is perhaps more related to Firmware within the phones hardware as opposed to being a Linux only issue. For example a pure Android phone will not sync with anything other that your Google account. Its phone manufacturers like HTC who enable sync. I can only assume there is firmware involved within their USB hardware.
There are a lot of voip specific tools within the package manager. There are even IPX solutions. For a small business these tools could be extremely valuable. Asterisk for example is an extremely powerful system. If a company has a voip connection they could simply route incoming calls through a machine running Asterisk. It can then provide an automated system to direct callers to the correct person. It can even handle voice mail features.
You can also use an IPX solution to set up an internal communications system. One central server running Asterisk and client systems running soft phones each set up with an extension number.
The rest of my night will be spent reading through the QT documentation. I want to find out if this is something I will be able to use.