Monday, October 20, 2008

SpeedCrunch Success as a Portable App

SpeedCrunch has a Windows Portable Edition (as in "carry-with-you" or "no-installation-needed") since version 0.10. The lastest release, 0.10.1 (May 24), has a Portable Edition download count of almost 11000 as I write this (source).

But since August 22, our fellow folks at have incorporated SpeedCrunch in their distribution (page). This is absolute good business for us, since the download count is at this moment a bit above 47000 (source).

This is quite impressive and gives SpeedCrunch yet another boost, since it basically doubles our Windows (installable and portable together) download rates for 0.10.1. A big thank you to!

Saturday, August 02, 2008

Essential Motivation in Free Software

Being really tired to code anything on a Friday evening while the TV tries to force me to watch Dick Tracy in vain, I decided to do a web search on reviews about SpeedCrunch.

I was surprised with the amount of recent articles about 0.10.1, complete with screenshots and non-copied-and-pasted text. I quickly found some 20 posts, and that was just looking for pages in English, Portuguese and Spanish. Articles in Spanish and Brazilian Portuguese are quite common for some time (thank you everybody responsible for that!), but today I got really touched when I found a very nice page with a review from someone from Portugal for the first time. The feeling is even bigger when one lives outside the home country.

I haven't found a review saying SpeedCrunch essentially sucks so far, and the opinions are actually VERY favorable. On top of that, readers often comment on those pages thanking for the divulgation of such great alternative free software. The voting score is also generally the highest possible.

So in addition to blogs, some of the websites were software aggregators that actually host the application files (they don't just link to our download page). That was when I found out by summing the few that I visited, that I could add at least 10 000 downloads to our counter (which is currently around 22 000, just for both Windows options). Well, considering all the websites that I didn't visit, and that every download eventually results, in average, in the sharing with the whole family / friends / office mates / class mates / you-name-it-group-of-people, I truly believe that the current amount of users (again, just for the Windows versions) can be, at the very least, 100 000.

Since SpeedCrunch is also available on almost all the most popular Linux distributions, and especially considering that it is shipped as the default desktop calculator in Kubuntu, the total number of users is probably extremely interesting for a project that started only as a toy and a proof of concept, and has always been a 1-2 active men project (active as in when the rare spare time after the real job and private life allows). The recent recovered support for the OSX platform also contributed for the increase of total official downloads, which surprised me a lot, to be honest.

Finally, it's also very gratifying to read Wikipedia pages mentioning our beloved pet project, on articles like division by zero and arbitrary-precision arithmetic. All of these factors are quite important in order to keep the motivation levels high and refuse to stop improving the project because nobody really uses it or really cares.

It's fairly easy to start a free software project, but maintaining it is a hell of a trip. On activity peak times, you can't just stop coding until you reach a certain satisfactory level of features and stability. After that period, you run out of ideas and free time. So people suddenly come to you and complain about bugs or features that MUST be there, otherwise the product is useless and the author a jerk. This can easily lead to the extinction of projects, which is probably the most common destiny of them all anyway.

Developers must then learn how to ignore destructive comments and incentivate constructive ones, instead of starting flame wars, stalling the project and wasting precious time. Feature suggestion and bug reporting are two essential and determinant factors that only the users can do, and will definitely contribute for the survival of a project. I imagine that if what has been happening with the KDE Plasma project lately happened with a "small", innocent and unpretentious SpeedCrunch, the application would probably have frozen in time. All because ingratitude and destructive positions send real contributers' motivation to the void.

So thank you for being there and keeping this project alive and kickin' :)

Tuesday, June 03, 2008

SpeedCrunch 0.10.1 released

It took much longer than it should and than we all wished, but finally here it is. SpeedCrunch 0.10.1 is a maintenance release that aims to fix a couple of annoying bugs present in 0.10, as well as introduce new translations and polish things even more.

So finally the virtual keypad "=" button works again, the previous and next math book navigation buttons have been fixed for the Hebrew version (for those who don't know, the left arrow means "forward" instead of "back" in right-to-left written languages), and the unmask function does not crash anymore.

Since I'm a language and translation lover, I'm very glad to announce the availability of Simplified Chinese, Basque and Catalan translations. Best thing since the Hebrew translation :)

For the geeks, a detailed changelog is available, as well as the list of closed issues in our task tracker.

I kept the cherry for the end: a big thank you to Alessandro Portale for providing the first Apple Mac OS X universal package since version 0.7, and Christian Ehrlicher for providing faster and smaller Microsoft Windows packages.

Go get it! (and before you ask, the new screenshots were created by Ariya's new pet project)

Saturday, May 17, 2008

Crunching on the Mac

A few weeks ago, Helder showed me SpeedCrunch in all its splendor. I was immediately convinced that this has to be the open source cross platform desktop calculator. But wait... what's that!? No up-to-date OSX package? Just having learned about SpeedCrunch, I immediately felt bad for all the OSX users out there being excluded from all the new features.

Having basic OSX experience, I decided to jump on the boat and create fresh OSX packages: Universal binary, compact and using the latest Qt. SpeedCrunch 0.10.1 will already come with a new OSX package.

You are welcome to test the preview version. Please let me know if something went wrong. I am for example not 100% sure if it runs on OSX 10.3.9.

If you like to build an OSX package yourself, just follow the instructions.

Tuesday, April 01, 2008

SpeedCrunch 0.10 Released!

After about 4 months of very strong dedication (and I mean it), a new version is out there. You can get it as usual from the project website download page. NOTE: now there is also a portable edition available in addition to the normal installer, please read the instructions on the page. There, you can also read the major changes in this version (box on the right). If you're really interested, you can always read the changelog or, why not, the list of all the bug fixes and enhancements registered in the issue tracker.

My personal very favorite new features are:
  • the ability to calculate, inside an immediate tooltip, the result of the selected text (in addition to the calculate-as-you-type feature that SpeedCrunch introduced a long time ago)

  • the possibility to save and restore sessions, keeping your variables between them. It also makes it possible for you to send your calculations to someone. In addition, it is also possible to run a batch calculation from a file, as well as the text export that was broken in the previous version

  • the ability to change the language of the application on-the-fly, with no need to restart, as well as a close to complete support for right-to-left written languages (Hebrew, for now, but I'd love to be contacted by an arabic or whatever translator)

  • automatic generation of high contrast colors to be used on the syntax highlighting of the expression being entered, adapting automatically to the system background and foreground colors, thus removing the need for a human (tedious) reconfiguration of the colors

  • a new dock window serving as a browsable mathematics manual, with geometry figures, quadratic equation, etc, allowing the immediate insertion of the formulas displayed in the book pages into the expression editor

  • reorganized menus and virtual keypad

I need to mention this. There's a sort of an "easter egg" in SpeedCrunch that just a few people seem to know about. If you press Ctrl+Space, you'll get a popup with all the constant categories. If you press Enter, Return or Right Arrow on one of them, a new view will slide in the popup - the list of constants belonging to the category you chose. Pretty handy for those who use the calculator through the keyboard and need frequent and fast access to the constants they need.

I'd like to say a huge thank you to Wolf Lammen for his active development, especially on the math engine and parser; Petri Damstén for his original idea of the math book and prototype implementation; Marco Wegner for his testings, tips and work related on our translation tools; Yonathan Avraham for his help on the RTL support; Johan Thelin for being always available to help me with my deep questions about Qt and packaging the application on Windows; Ariya Hidayat, the original author, for his important contributions on the last days and what not (and we both started working for Trolltech today, life's funny sometimes, hurray!).

I hope you enjoy the new release, it should be the most complete and polished release ever.
For the Linux users, a dynamically linked portable edition will be shipped soon as well (that shall work on any Linux distribution with Qt 4.2 or higher version), and requiring no installation, just like the new Windows Portable Edition. That's it for now!

Saturday, March 22, 2008

Some more mentions

A quick googling allowed me to find some more reviews about SpeedCrunch on:

Lightweight Linux Review

Wednesday, March 12, 2008


SpeedCrunch trunk running on KDE 4. The new (optional, as almost everything else in the application) status bar and the new automatically generated syntax hilighting colors are shown. Not shown is the new feature that allows the user to select a part of the expression being inserted and get its result immediately in a tooltip (just like calc-as-you-type). The math book also got a new style sheet. I hope that in the future we can adapt it automatically to the system colors as well (the only tricky part is to make images adaptive).

Thursday, February 21, 2008

Generating syntax highlighting colors based on system colors

For quite some time it came to my mind that the colors used for syntax highlighting should be automatically generated by the application, removing the need of forcing the user to manually edit each and every color everytime a new color scheme is chosen for the whole system. In the SpeedCrunch case, there's at least the need of choosing 3 colors for the expression editor syntax highlighting: variables, functions and numerals.

The problem is when the text box background or the text color is not the expected (generally white and black, respectively). So I started playing with some code in order to try to reach an easy and acceptable enough algorithm that could make SpeedCrunch adapt to any text and background color combinations (or at least the most common and wise ones). Certainly, predefined color sets (that also include and overwrite the system background and text colors) shall always be provided, in order to ensure that nobody needs to switch off syntax highlighting.

Let's look at the examples. The surrounding color represents the system base color, used for text input boxes, for instance. The first colored square represents the system text color. The remaining squares are the generated colors for highlighting. If you see no surrounding color, that's because it's white.

KDE / Windows * / MacOs X / BeOS



Digital CDE

Black on light grey

Blue on almost black

Blue on black

Blue on dark blue

Green on black

White on black

White on dark blue

White on light grey

Yellow on blue

All the three squares to the right of each image where generated from the first one from the left and the background color. It seems to me that even in "dummy" color sets like in the last example, the algorithm performs really well. I guess I'll introduce this in SpeedCrunch for 0.10.

Edit: this feature is now in SpeedCrunch's trunk. 0.10 will come with it.

Tuesday, February 19, 2008

0.10 Preview

Next release won't take long to hit the streets and is reaching a stable point. Here's a preview screenshot tour:

Radio groups for angle unit and number base selection are gone now, in order to release some screen space. The very same options are available in a quickly reachable menu inside Settings and are also available through even faster keyboard shortcuts. Note that the previously available Clear and Evaluate buttons are also gone. Their actions are now available in the optional virtual keypad and through faster keyboard shortcuts as well.

For those who really like to preserve space, it's even possible to hide the menu bar. To show it again, a keyboard shortcut is available to perform the action (a tool tip is shown to warn the user about this).
Let's now look at a full demonstration of all the optionally available visual elements.

You can see all the dock windows that were already available (nested and tabbed on the left and right side), a reworked virtual keypad and a new toy to play with: a mathematics book (floating on the right). One can browse it like a website and insert the formulas directly into the expression editor. If the required variables are already defined, the result will be calculated and presented.

And of course you can hide the virtual keypad again in order to get more space available for the docks. In the example, we can see a page for the quadratic equation. Currently there are additional pages for various 2D and 3D objects. If you want to contribute with more pages to enrich our book, just contact us. Physics and other areas are also welcome, not only plain mathematics. The pages are trivial to design (you can easily do it with the lamest text editor). We'll help you out with your first one. I must say they are also translatable (I always try to make sure everything is translatable :) So the book will be available in other languages, just like the rest of the application.

In 0.10 it will also be possible to run SpeedCrunch in full screen mode (additionally to the stay-always-on-top mode). The mathematical core was also very much reworked and is better than ever. There are plans to introduce rational and complex numbers to the application. Not sure if for 0.11 or later, since 0.11's main focus will be a complete port for KDE4. Also still possible to be ready for 0.10 is the "portable" (as in take it with you) build. So then you just need to copy a directory to your flash drive and run your favorite calculator anywhere :)

Monday, January 14, 2008

SpeedCrunch with Oxygen style

Work is continuing to bring SpeedCrunch closer to become a real KDE 4 application. In the mean time, with the recent launch of KDE 4.0 that sports a new widget style, Oxygen, it's also worth to mention that SpeedCrunch already integrates nicely (with respect to appearance) and does not feel out of place, as evidenced from the following click-to-enlarge screenshot: