Since September 2017, the full source code has been available on GitHub, released for free usage under the MIT license. Visit GitHub to see the source code, and to pull a copy for your own use.
At this blog you will be able to follow the development of Costa. Every now and then I will post about the current status of the project, and talk a little about future goals. Atom feed is available, for those who want to keep posted.
Posted on the 1st of October, 2023
Posted on the 20th of August, 2023
One of the goals when developing Costa is to include full - but optional - mouse support. Everything should be accessible via keyboard only, even the icon editor can be used with the arrow keys for drawing. But for those with a mouse, certain operations are easier. Now, how can something like the mouse be optimized, you might ask?
Posted on the 13th of August, 2023
…because it’s time to clear the minefield in the classic PC game Minesweeper! After a couple of months of development when my free time allowed it, the game is finally tested and ready for release as part of Costa version 1.7.4.
Posted on the 29th of May, 2023
Keeping up with the spirit of 1.7.1, this new release does not bring many new features, but focuses on improvements instead.
A grid has been implemented on the desktop, making icons move in 8 pixel increments. This makes it vastly easier to align the icons nicely on the desktop, both using the mouse and the keyboard, and I am quite please with it. It’s a small thing, but the effect is great!
Posted on the 10th of April, 2023
Posted on the 7th of January, 2023
2023 has arrived, and with it comes a new release of Costa - version 1.7.0. This version brings a lot of small improvements, but also one major new feature: A file selection dialog. Gone are the days when users would have to enter paths and filenames when adding links to the desktop. Now, users can visually select the file they want to open.
Posted on the 27th of October, 2022
When I started developing for DOS some 20+ years ago, I knew nothing about code versioning systems like Git, nor did I have any idea about automating builds. I just did everything manually, building each separate program from within the IDE before loading the next. Obviously, I have learned a lot since then, but I never really changed the way I did things when it came to Costa. But now I’ve made some changes to make things easier for myself.
Posted on the 30th of September, 2022
One of the aims of Costa has always been to make it easier for the average person to launch their games and programs, on real DOS machines and in emulators such as DOSBox. This is accomplished by having easy access through links on the desktop. However, creating these links is a manual process, where the executable name and path must be known beforehand. Not a very user-friendly solution - but that’s about to change.
Posted on the 6th of June, 2022
It’s that time again - a new version of Costa has been released, after almost 6 months of waiting. This time, the most notable feature is the ability to switch between two screen modes on-the-fly - EGA and VGA. Almost all icons have been replaced with new ones in order to rid Costa of the only proprietary content that was included, and a new default theme is used. And, as always, there are bugfixes and other improvements.
Posted on the 18th of May, 2022
Since its inception in 2004, Costa has always used VGA graphics. More specifically, it used the standard VGA 640x480 pixels resolution, with 16 colors. I chose this resolution, because I liked the relatively sharp graphics it can produce, and the amount of screen real estate it provides. But, this graphics mode has a couple of drawbacks.
Posted on the 2nd of May, 2022
Work on optimizing Costa continues. Some time ago, I wrote about how all image and config files were replaced with binary files, rather than the human-readable formats they were in. This had a couple of advantages in regard to speed.
Posted on the 29th of December, 2021
Just in time before the new year, Costa version 1.5.0 has finished testing and has been released. This version comes with many improvements and changes, but three stand out from the rest: A new UI design based on Costa 0.9.4, massive speed improvements to handling of data files, and full keyboard support in all accessories. Code optimizations have also helped reduced the combined size of Costas executables significantly.
Posted on the 23rd of December, 2021
With all the recent changes to Costa, namely the changes to all file formats, came the opportunity to really go through the code and try to make sure all file related errors are handled properly.
Posted on the 23rd of October, 2021
It’s been a while since there’s been news on the development of Costa. But the last couple of days have yielded some newsworthy developments.
Firstly, the entire UI code - that is, the code that draws windows, buttons etc. - has been rewritten.
Posted on the 22nd of May, 2021
Posted on the 21st of April, 2021
Posted on the 6th of April, 2021
I was going through my old stuff some time ago, and found my old notebook. I used it to take notes when I was first learning to program, from 2001-2004. It was very interresting to read through my old notes, but one of them in particular caught my attention.
Posted on the 22nd of October, 2020
After a 2½ year hiatus, I have once again pulled the source code for Costa out of storage, and added some new features. This time around, I’ve implemented some bug fixes, and a whole new theme editor.
With this new theme editor, users can now customize any color of the interface - either by modifying existing themes, or making their own. User submissions are welcome!
Posted on the 27th of May, 2018
Once again I have released a new version Costa, version 1.2.0.
The main feature in this new version is support for multiple profiles. It is now possible for several users to use the same installation of Costa, each with their own settings, theme and personal desktop. One user could also have separate profiles for work, play etc.
Full changelog for this and previous releases are available in the archive.
Posted on the 3rd of March, 2018
Yesterday I released a new version of my long-time hobby coding project, Costa.
There’s not much new to see. I added a “Tip of the Day” dialog, and some new icons for you to choose from when creating desktop links, but mostly it’s all about bugfixes and improved stability.
Posted on the 2nd of October, 2017
Over the past couple of years I have been using Open Source software increasingly. More and more of the applications I use everyday have been replaced by open source alternatives, and I now only have a handful of proprietary software left. Even my operating system has been replaced by Ubuntu Gnome.
Since I am using so much open source software, I figured I would live up to this ideal by releasing the source code to one of my own pieces of software, The Costa GUI.
Posted on the 23rd of April, 2009
Wow, it’s definitely been a while since I last updated! Even though my career in the navy has taken a whole lot of my spare time, I’ve been able to work a little on Costa every now and then on weekends. Since my last post I’ve ironed out quite a few bugs and rewritten a lot of code. Visually the interface looks the same, but all executables have been reduced in size and improved in performance. Good stuff!
I’ve also written the second accessory for Costa (the first one being the theme switcher).
Posted on the 21st of August, 2008
I spent today working on the theme selector. It’s as good as done now, and I think it turned out pretty well. Unlike the previous versions of Costa you don’t have to type the filename of the theme. Now you can browse the themes - with previews of each theme - and choose the one you like. The changes will take effect immediately. In fact, all changes you make to configuration files will take effect right away.
Since I’m hoping to get user submitted themes, all theme files contain theme name and author, which is shown in the theme selector.
Posted on the 20th of August, 2008
I’ve finished the “Customize desktop link” dialog, and I’ve also added a run dialog to the desktop. I’ve also tested the desktop for bugs, and so far I haven’t found any. I’ve learned from my mistakes in the past and have taken a lot of measures to avoid a crash if an error should occur. Every single computer program probably has bugs in it, but I haven’t found anything so far. I’ll release a test version before version 1.0 to make sure anybody else doesn’t come across a bug.
It took me less than seven days to make the desktop, thanks to my GUI toolkit which really simplified making buttons, dialogs and other UI related parts of the desktop.
Posted on the 19th of August, 2008
I made a lot of progress on the desktop today. Once I’ve finished the “Customize desktop link” dialog (which is basically the same as “Shortcut Properties” in Windows) the desktop will be completed. Once I’m done with it, I’ll start work on one of the accessories.
In the past I’ve kept Costa’s source for myself, and I haven’t shared much information on how I develop the GUI.
Posted on the 18th of August, 2008
I’ve had a long break from programming. Almost a year, in fact. But in the past three weeks I’ve been trying out several new design ideas for Costa. And I’m not just talking about the design of the interface - I’m talking about the underlying design, about how everything should work. I’ve come to a conclusion.
Posted on the 30th of July, 2005