wow that looks nice! I'd love to be in the beta if possible!
Hi all!
There's a huge amount of work to do yet, but still we're making big
steps towards a really nice application.
In this post I'll try to tell something about its features (in a more technical way).
CarMa is built towards low-end hardware, but still with all modern features
and a responsive and eye-pleasing user interface.
It is ready for multi-core cpu's. Most parts are split up into background
threads already. This allows the CarMa framework to scale up seamless
to high-end hardware and make use of it efficiently.
I'll sum up a couple of my own design and coding-rules to clear up a couple
of design related-questions ahead:
keep the UI responsive (user should have the highest priority, instead of the OS f.i.),
try to keep the software low on resource/memory usage and don't fear technical
workarounds to optimize slow implementations..
Core
The core manages all subsystems like audio, database,
skinning, external events, file- and imagecache and more. It is based
on a plugin-like architecture, which allows us to change, replace or
extend certain parts easily.
The core doesn't handle external (dll) plugins as of yet. We haven't started
coding this part. Also, there's no external API yet. These are planned
for a later version, shortly after launch
Application Skins
The application allows total freedom of skinning.
A skin contain a bunch of images (PNG preferred due to alphablending),
and a bunch of XML files to describe the individual screens and popups.
Images can be any format, although the preferred format is PNG.
Each object is a separate layer, all blended nicely with each other.
It can render 100's of layers without any noticeable performance loss.
Individual layers are updated if changed only.
The skin-developer has the option to use truetype or bitmapped fonts.
Bitmapped fonts are drawn faster but fixed sized,
TrueType fonts are scalable and support anti-aliasing but slow to draw.
Note: The documentation of the available objects will be found on our Wiki pages after launch
Scripting
CarMa is completely based on scripting. If a skin doesn't contain any scripts,
it won't run either. It will probably show a nice picture, but it doesn't take
you anywhere.
We've chosen for a lightweight script interpreter based on very
simplistic Pascal language. It can process scripts simultaneous and fast.
Don't worry, it is really simple and easy to learn. Scripts to perform basic
actions will be single commands anyway.
Almost all aspects of CarMa are accessible through scripting.
Volume/sound control, file handling, GPS handling, playlist control, etc.
Note: scripting documentation will be found on our Wiki pages.
GPS
CarMa supports GPS's out of the box. It enables skins to use the
realtime GPS parameters to update screen controls.
Only serial and NMEA based GPS devices are supported.
Most consumer GPS devices output NMEA,
and almost all of the USB-based devices provide a virtual COM port to use.
You probably shouldn't worry.
Note: multiple apps accessing a single GPS device is a problem.
When an application does, it locks the COM-port exclusively.
No other application can connect or use it.
There is a solution, however. XPort can be used to share a
single GPS device to multiple applications.
Music database
This is probably one of the most complex parts of CarMa.
Due to our experiences with some of the popular front-ends,
we had a couple of important requirements. To name a couple:
it has to be crash-proof, redundant, auto-recovery,
fast loading/saving/indexing, must support huge amounts of data, etc.
We evaluated and tested a handful of database engines, but in the end,
We chose memory-tables, and implemented the extra requirements.
The DB is fast, extremely compact, secure and crash-proof.
If there's a power-outage, an application crash or a Win-crash,
no data will be lost- and will resume from the last state before the crash.
Library browsing
CarMa provides a couple of filters to browse through the music collection.
These filters allow the user to browse the library in a logical way - Via ID3 tags
E.g.: by artists, by albums, by genre or year, etc.
Playlist selections
No-Tec already wrote some about the playlists.
These playlists are user-selected or dynamically chosen by the system.
If the user wants, CarMa can try to select music based on the listening
statistics and ratings.
As you can see, a lot of work has already been done, but a lot of work
still needs to be done. In the end, it will be a very nice addition to
your CarPC we think!
And of course we're open to questions and suggestions!
We are more than happy to answer them.
Suggestions and requests can be left at the other topic.
Thanks for your patience!
jsn
- CarMa Forum on MP3Car!
- CarMa's own forum!
- Follow us on Twitter twitter!
- CarMa Website: http://www.tailorsolutions.nl
- *new* CarMa on Facebook!
wow that looks nice! I'd love to be in the beta if possible!
Planning {[][][][][][][][][][]} 100%
Funding {[][][][][][][][][][]} 100%
Construction {[][][][][][][][][][]} 60%
Hi tominated,
Thank you for your reply!
A bit about beta testing.
The application is not ready for testing yet. We will announce this when we think it is up to it.
Unfortunately this will take another couple of weeks, but as said before, it's more of a moving target.
Some problems/solutions still have to be researched.
We're thinking about a beta qualification test.
You probably shouldn't worry, a very small amount of technical knowledge is a big plus. (f.i. editing xml, looking into log-files, etc)
We just want the first group to give clear reports if there is something wrong.
The exact requirements, or procedures, for beta testing will be put online when we're ready.
We want to give you the best experience ofcourse!
- CarMa Forum on MP3Car!
- CarMa's own forum!
- Follow us on Twitter twitter!
- CarMa Website: http://www.tailorsolutions.nl
- *new* CarMa on Facebook!
mark me on that list also, been following this project when you first announced it was in C# because im a C# developer... still looks great even tho you switched. but id be very happy to help test!
Hi dhantiflag!
Cool, more and more people tracking this project.
We will make notice of ppl wanting to test, but details come later.
C# was indeed a candidate. We carefully looked at the pro's and con's of each
development environment. Both can be easily applied, but in the end, Delphi won.
The reason was simple; we already have a very developed 2D rendering engine,
fast databases and it just starts way faster after a clean system boot.
Although Delphi is slowly fading away from the development scene, we still think
it provides us the best solution for this particular project.
- CarMa Forum on MP3Car!
- CarMa's own forum!
- Follow us on Twitter twitter!
- CarMa Website: http://www.tailorsolutions.nl
- *new* CarMa on Facebook!
obdII support would be soo nice
Put me down as well. Using rr at the moment but I'm very interested in this and have a pretty heavy programming background so I'd be interested in testing and giving input. Never used Delphi before but reading through some documentation on it, I may switch a couple of my custom apps over to it.
Digg Guy, that's great news. We're definitely going to be looking for contributors for plugins once we release a public build. We will add you to the list.
Delphi is not really needed to interface with CarMa!
We will try to implement a couple of methods to interface with the application.
One viable method could be using a built-in webservice.
This is compatible with the .NET framework.
A plugin can be an application consuming this webservice to control a lot of aspects.
Another viable method is using DLLs and interfaces.
These plugins conform to a certain interface which the application knows how to access.
A special callback interface will then be available from within the plugin.
A third method under consideration will be using 01d-sch001 API calls.
Although the 2 mentioned before will be prefered. (Personally, I don't think there is any need
for this, but who knows)
And ofcourse, we will listen to your suggestions too!
Anyway; I should get back to work![]()
- CarMa Forum on MP3Car!
- CarMa's own forum!
- Follow us on Twitter twitter!
- CarMa Website: http://www.tailorsolutions.nl
- *new* CarMa on Facebook!
Bookmarks