Reasons for developing CarPC
 
  1. Intellectual Stimulation
  2. Fun
  3. Fun
  4. Monetary gain
  5. Fun
 
Choices of technology
 
  1. Windows CE - 
    1. Windows CE provides beautiful user interface. 
    2. A lot of flashy software like WinAmp is available for use.
    3. Microsoft also claims to have Windows CE for Automotive application.  This needs to be evaluated. 
    4. System footprint is large. 
    5. Requires a fast computer.
    6. Available GUI toolkits - win32 API, .net (FAT)
    7. This platform is expensive - both for development and sales royalties.
    8. True geeks don't dig Microsoft.
  2. Linux
    1. Linux is Open Source and Free.
    2. Linux is harder to setup and use.
    3. System footprint can be as small as 2 MB.
    4. Can potentially run on slower/cheaper hardware.
    5. A lot of time has been invested in creating embedded linux.
    6. Choices for GUI (using framebuffer) - Gtk, Qt and DirectFB.
    7. Fewer flashy applications available.
    8. Real men dig linux.
  3. Hardware -  we already have a good hardware design, in theory, atleast.  With no moving parts and minimal power comsumption, the sytem should have no problems running in a car.  It is fast enough to accomodate demanding applications such as GPS and mp3 player running simultaneously.  It has enough I/O ports for future expandibility and addition of new features.  The onboard 128 MB of RAM is the ideal amount of memory for this applcation.  The x86 processor makes the development process easy.  Other options to consider would be ARM, XScalea and Crusoe. 
 
 
Direction
 
With more and more electronics being added to cars today, it is only a matter of time before we see a mobile computing platform embedded in the dashboard.  This will be offered by car manufacturers themselves. Already, all hybrid cars show OBDII information (to a certain extend) and play music.  If we develop and serious comsumer device, I fear that the project will be drowned out by auto manufacturers.  The target audience for our product must be the average computer enthusiast who would like to
  1. See the insides of the computer.
  2. Understand how it works.
  3. Customize it.
  4. Make additions.
  5. Run own software.
  6. Come up with new ideas and project.
Essentially, we provide the hardware platform.  It is true that many will want a package ready for use.  For them, we should provide one implementation of software to run on the system.  It can be left to the user to decide whether to use it or not.   Qt provides an ideal toolkit that can be compiled on any platform i.e., the same software can be run on Embedded Linux or on Windows CE. 
 
The cost of this hardware platform needs to be kept at a reasonable level.  Indash GPS system currently cost about $2000 or more.  In order to sell car PC, the number will have to be much lower - $1400 or less.