Archive for the ‘Linux’ Category

Ideas are Cheap - Build your mobile

Thursday, July 17th, 2008

It’s that time of the year when proto.in fever spreads. And the ideaworm has got to me.

Inspired by Vijay Anand’s “Ideas To Toss” series, I thought why not start my own occasional series as well? I’m calling it the “Ideas are Cheap” series. The name is a take on the common proverb “Ideas are Cheap. Execution is Everything.”

So here’s the idea for today:

Can we have a business where the users can customize the hardware that goes into their phone?

This is not a new idea. We are just applying Dell’s business model to mobile phones. If Dell can do it for desktops and laptops, why can’t it be done for mobile phones?

The customization can range from how much memory you want, whether you need a camera or not, etc. to choosing the color and the type of body (candybar or flip or other form factors) and so on.

The range of customization possible depends on the capabilities and costs involved in the assembly process. For example, users may be able to customize the phone by having a name for a special button called ‘Mom’ (or ‘Dad’ or ‘Son’ and so on) that is hotwired to call you. You can gift this to your corresponding loved ones. The advantage is it becomes a wonderful ‘personal’ phone and becomes easy-to-use for technophobic people.

The implementation will be challenging. For one, desktops and laptops can be assembled because of the plug-and-play IBM PC architecture as well as because the operating system easily adjusts to changes in the hardware. AFAIK, mobile phones are not built that way as of today and requires some configuration in the software based on which hardware features are present and which are not (please correct me if I am wrong). Making the software easily adaptable will be a major feature.

The other interesting part is to build a factory that facilitates this. It is very hard to build a supply-chain system for such a factory.

The good part is that the technology could be built on top of OpenMoko - after all, this is the kind of ideas that FIC (the sponsors of the OpenMoko project) had in mind in creating a mostly-open-hardware and open-source-software mobile computing project.

Personalization is one of the buzzwords that is supposed to make the big moolah for companies these days, and allowing people to customize a device that they carry around all day definitely has potential.

End credits: This idea was part of a random discussion between Ramjee and myself.

On a different tangent, there are lots of ideas waiting to happen in the software. For example, it’s not only Apple that can do an App Store for their phone, this can be done for this platform too. Of course, we’ll have to start off a holy war of choosing that one linux distro…

Perhaps similar ideas can be done on top of the Asus EEE PC as well?

Closed source on Linux is hard

Monday, October 22nd, 2007
Update: Please read the article carefully before commenting. If you notice, most of the problems being described here is part of Eclipse, which is open source. So, usability issues are faced by open source programs as well, and not just proprietary programs on Linux. The reason I wrote that title was because this pain is usually felt by people who are making closed source packages that works on different Linux distributions. The real issue is about unneeded incompatibilities between different Linux distributions.



After working on the porting project to make Flex Builder run on Linux, I am starting to see why closed source software on Linux is hard.

There are just a handful of closed source products on Linux (counting only the famous ones) - Opera, Skype, Nero, Acrobat Reader, and Flash Player. Hmmm, I can think of just 5.

Why is that important at all? Because software developers who are not initiated to the FOSS philosophy will be scared off the platform because of its inherent complexities. For example, in this project, getting the software to run on the various Linux distros was, to put it lightly, troublesome.

There are a number of issues that we faced, which I’m certain is the reason others don’t want to get into this as well.

Let’s start with Eclipse. Eclipse runs fairly well on different platforms (let’s ignore the memory-hogging issue here), but on Linux, it’s a different ballgame. Somehow, the polishing of the UI is markedly lacking. Yes, we’ve filed bugs, but turns out it’s not really Eclipse’s fault, it’s simply because different window managers work differently on Linux, and handling all of this is a nightmare.

Oh, and this gets better when it comes to distros. For example, the latest released Eclipse 3.3 won’t run on the latest released Fedora version. You have to wait till Fedora 8! Because of this, we had to drop support for Fedora, and instead concentrated on other distros such as Suse, Red Hat and Ubuntu.

That brings up another problem - the number of distros. The QA effort required for the Flex Builder (FB) on Linux project was huge indeed. And yes, we found problems that occurred only on Red Hat but not on Ubuntu, and so on. For example, clicking on help links in Eclipse on Red Hat opens a new window every time whereas it properly displays in the same window on Ubuntu. Again, it’s not really Eclipse’s fault. Go figure.

Then, there’s the issue of running Firefox. There’s nothing wrong with Firefox itself, but what’s with each distro trying to customize the Firefox startup script?! FB on Linux has to check whether the correct version of the Flash Player plugin is installed in the browser, and checking this is a long procedure - do we check in ~/.firefox/plugins/ directory or ~/.mozilla/plugins/ or $MOZ_PLUGIN_PATH or some Suse-distro-specific directory such as /usr/lib/browser-plugins/!

Life is simply too hard compared to other operating systems.

Isn’t it a wonder that nobody wants to develop a closed source product for Linux? Even Microsoft is just handing over the audio video codecs to Novell and letting them to do the hard work of creating Moonlight on Linux. Microsoft is smart enough not to try to maintain a Linux version of Silverlight on its own (I’m considering only technical issues, let’s set aside philosophical issues on this one).

If we really want to make Linux a good platform, then we need to stop messing around with the basics - at least please don’t muck up the basic shell scripts and paths.

The way to get more people, in large numbers, to understand the open source and free software philosophies is by making their first steps easy. It cannot be an all-or-nothing approach. Closed source software on Linux is not practical. And that’s a bad thing because if we can’t convert software developers to use a different platform, how can we expect mom and pop to switch to Linux?

In spite of all this, I think we’ve done a good job of FB on Linux, and happy to see all the great response we’ve seen so far, including reports of success on various distros that we’ve never even heard before. So please keep the feedback coming!

Standard disclaimer: The opinions expressed here are my own, not Adobe’s.

Announcing Flex Builder on Linux

Wednesday, October 3rd, 2007

Now presenting the alpha of the Flex Builder IDE on Linux! (this was announced at the Adobe MAX 2007 conference). You can now create Flex projects, write code with intellisense-like hinting, compile and debug all within an IDE based on Eclipse, on Linux. You heard it right, it’s officially supported by Adobe. Download it NOW.

The future direction of Flex Builder on Linux depends mostly on community feedback. Yes, seriously. So please do write in your feedback even if it is just “works well” or “it sucks”. Why is this important? The more the feedback, the more thought will be given to the product. This is how things work in Adobe (as far as I’ve seen). So again, voice your opinion on what you think of Flex Builder on Linux, and what you’d like to see and not see in it.

Disclosure: I am part of this project. I mostly handled the Linuxisms in the IDE functionality.

Update : Lots of feedback and comments (good to see that it’s mostly positive) on Digg, Slashdot and ZDNet. There’s also a video of the actual announcement put online by Peter Elst.

Outlook on Linux : Evolution Exchange

Tuesday, March 27th, 2007

My laptop at work has some network configuration issue (I think) leading to Outlook not finding the server - sometimes it works, sometimes it doesn’t. But every other application uses the internet/intranet just fine. Only Outlook doesn’t work and I’m tired of reading the mails from a web interface because it is painfully slow and more so for high traffic mailing lists.

So, I switched on my desktop (which has only Kubuntu installed and no Windows), ran apt-get install evolution and apt-get install evolution-exchange commands, started Evolution, added a new Microsoft Exchange account and it started downloading all the messages.

It’s ironic that I have to use a Linux machine to connect to a Microsoft Exchange server. Maybe now I can get my laptop fixed by our IS. The last time I reported the same problem, they deleted my profile and added it again and I had to spend an entire day customizing my setup again, and the original problem still wasn’t fixed. I don’t want to go through that trouble again…


P.S. On a completely unrelated note, Beryl makes using Linux so much more fun. The Expose-like preview of windows (F8 key) is very useful.


Update: It’s not over til it’s over.

Update 2: Well, Evolution is locally caching the mail, all I have to do is to leave it on overnight :), well that mitigates my email reading issues a lot, assuming it keeps working that way.

Update 3 on 2007-06-13 Wed 04:07 PM: Finally solved the mystery of Outlook not working… it was because of the Sify Broadband software installed! Renaming all the Sify-related exes to some other extension fixed the issue. Go figure!

Whoa to Woe

Friday, March 23rd, 2007

After a month of bliss, I caved in and got a new phone. After all, there are few super() invocations that I want to override (any Indian son/daughter would know what I mean).

The good part about not having a mobile phone was the bliss of being “free”, I suddenly had more time to spend with the person in front of me, I suddenly was charmed by the fact that I could not be disturbed by anybody at the moment and I avoided all the calls that I didn’t care for. Seriously. Try not having a mobile phone for a week. Then you’ll feel the difference.

Even the local DVD store attender agreed:

Attender: Sir, what’s your updated mobile number?
Me: I lost my mobile phone
Attender: What’s the new number?
Me: I am not getting a new one
Attender: Best saar adu (That’s best sir)

I ended up reluctantly getting a Sony Ericsson W830i. The good thing is that I won’t be having it with me all the time. I certainly intend to have some mobile-less days and won’t be carrying it with me all the time.

The phone has a rating of 9.5/10. It is not much different from my earlier W800i but the black color is very enticing. And my latest trip photos were taken entirely using the phone.

W830i

My first impulse with the phone was to install the ‘Disc2Phone’ software and try to rip some CDs and transfer it to the phone. Oops. It doesn’t work. I installed it on the laptop and it can’t recognize my phone. I installed it on the desktop and Disc2Phone dies with a bizarre error which no average user can understand (I think it has got something to do with correct .NET version not being installed… why the heck does a simple CD-to-mp3 ripper need .NET!?).

Ubuntu to the rescue. I installed the mp3 codecs and fired up Sound Ripper to convert the CD to mp3, drag-and-dropped the mp3s using Nautilus and I was listening to music on my phone in almost no time at all. I wish I had thought of this earlier, it would have saved the 15+ min installation time on each computer + 10 min of trying to get the dumb Sony Ericsson software to recognize my phone and all that aggravation. I wonder if this software works for anyone at all. Now that I think of it, the software for my W800i never worked as well!

The irony is that I can transfer files to/from the phone only using Linux now since installation of the Sony Ericsson software screwed up Windows so much that it won’t recognize my phone now.

Update: The phone itself is buggy as well. Now it is not keeping track of any incoming/outgoing calls, so if I miss some calls, I have no way of knowing about it! And sometimes the display just shows nonsense, I have to refresh the menu to see it properly. And the location of the keys are horrible indeed. Why such a big button just to open the walkman feature? And the sliding part obstructs the first row of the keys. Sigh. I never had such problems with the W800i. Why do they mess up things in newer versions of the same stuff?

Ubuntu

Wednesday, July 12th, 2006

After reading about Mark Pilgrim’s famous switch from Mac OS X to Ubuntu along with his list of must-use stuff, I installed Ubuntu Linux on my system (and removed Fedora Linux in the process…)

First impressions:

  • It is fast. Here’s where I say “Bye Bye Fedora”. Firefox runs smoothly whereas it used to crawl and cry on Fedora (I have a P3 667 MHz Intel machine)
  • The looks are great, especially the bootup screen. My non-techie cousin said “I thought you were starting up some game!”. That’s a good compliment.
  • The booting process is slow. It runs dosfsck, etc which slows down the process a lot.
  • The Add/Remove programs works like a charm. In Fedora, I had to manually update my ‘yum.conf’ for the repositories I needed. Here, I can select the software, and if the “Universe” repository is not enabled, it asks me whether I want to enable it, I click yes, and the rest is taken care of.
  • The printer configuration took just 20 seconds as opposed to more than 5 minutes previously in Fedora where I had to hunt for the right set of drivers and driver options
  • The red quit button at the top right portion of the screen is a nice touch
  • The documentation is excellent. Click on System -> Help -> System Documentation. Click on ‘Ubuntu Desktop Guide’ and start reading. For example, further click on ‘Common Tasks’ -> ‘Music’ and look under the section ‘Using your Ipod’, it clearly recommends how to use/install the “rhythmbox” and “gtkpod” software.
  • Finally a distro that my dad has started to use comfortably
  • EasyUbuntu is a must-use
  • UbuntuGuide.org is a must-read
  • The fact that it is a single-CD distro is both a boon and a bane. Boon because it is easier to give to others and use and is faster to install. Bane because anything else I want to install means a bandwidth hog, for example, any of the compile/build tools.
  • Is it true that Ubuntu has an Indian mirror? Somehow it seems to result in faster downloads.
  • The UbuntuOS blog and their podcast seem interesting, as well as the Unofficial Ubuntu blog
  • Hardcore users will like Planet Ubuntu
  • It’s surprising that I didn’t find many gripes with Ubuntu. Is it that “Desktop Linux” is finally coming of age or is it that the Ubuntu team have done a really good job that others haven’t been able to?

Always on software

Tuesday, June 13th, 2006

There are three software that are always open for me at work:

  1. Konsole - for coding
  2. Firefox - for email, internal websites, news, etc.
  3. Gaim - for talking to colleagues

It’s interesting that I don’t use anything else at all.

Hmm, I can’t get anything done if I’m not connected to the network. I’m useless by myself. Has the age of the drones cometh?

Linux Can!

Saturday, December 3rd, 2005

Watch the Linux Can! video (I took yesterday night) now!

Linux Can! Live Video

I just can’t get that tune out of my head …

Update : The video is now available on Google Video.

foss.in day 4

Saturday, December 3rd, 2005

Yesterday was such a long and awesome day.

The day started with me missing Taj’s talk on Entropy and I’m still kicking myself for that one. I attended Gora’s talk on IndLinux efforts and I got to know about the various efforts in localization and translations going on.

foss.in 2005 day 4

Then, Alan Cox spoke on Modern Linux Device Drivers. There was so much information that he was doling out that I didn’t quite follow, but I did get the gist and understood that kernel stuff ain’t that much of a voodoo as I thought it would be. It simply requires a lot more discipline and awareness of how design impacts performance.

foss.in 2005 day 4

Then, it was Welte’s turn to talk how he reverse-engineered Motorola’s EZX linux phones to allow a full free software stack to be used on the phone. It was interesting to note the various steps he takes, including using an oscilloscope to find out which probes and points actually work! I didn’t stay for the whole talk because the amount of jargon involved was simply beyond me.

foss.in 2005 day 4 foss.in 2005 day 4

Next, I was listening to Volker on the Munich City’s transition to free software. Interestingly, in the city’s evaluation, they found the proprietary solutions to be cheaper than the free software contract quotes (we are talking a difference of 10 million or more!) but they took many more considerations such as long-term costs, support, localization, etc. and finally OpenOffice+Linux got lot more points and was finally chosen by the Munich city. The last-minute offers by MS which include cuts of 7 million dollars, etc. were not considered by Munich.

foss.in 2005 day 4 foss.in 2005 day 4

After that, we were in an Advanced Python BoF with Taj, Siddharth, and many others. With Sid being present, the talk veered off in various directions and that’s a good thing. Sid was talking about how to have some feedback values put in generators and Taj gave an example of how such a problem is faced in producer-consumer setup when they are using python generators. Taj said there’s a relevant PEP that’s out there but with no consensus yet on what’s going to be done about it. There was much more discussed including decorators, metaclasses, and Ruby too (no, we didn’t bash it).

foss.in 2005 day 4 foss.in 2005 day 4 foss.in 2005 day 4 foss.in 2005 day 4 foss.in 2005 day 4 foss.in 2005 day 4

(more…)

GCC and the ABI

Friday, March 18th, 2005

From the Autopackage Developer Quickstart:

Important note to C++ developers

If your software uses Qt/kdelibs, or just rely on many (large) C++ libraries, then you must be careful. This is because of C++ ABI (Application Binary Interface) issues: GCC 3.4 broke C++ ABI (again), so software compiled with GCC 3.4 can mysteriously crash on GCC 3.2/3.3 systems, and vice versa. Because of this, we cannot guarantee that your software will run on all (or even most) systems. At the time of writing, most distributions still use GCC 3.2, but GCC 3.4 distributions are coming and GCC 3.2 distributions are not going to disappear any time soon.

Can we have ever have a write-once compile-once run-anywhere system on Linux/BSD?

I guess that’s a stupid question.

Sidebar:

  • Autopackage 1.0 final to be (hopefully) released within a month. Yay!

  • Autopackage basically makes software installation on Linux easier. For more details, read the FAQ.

  • The Autopackage website is very well designed. I’m impressed.