Saturday, October 17, 2009

Aerofoil 1.5.0 Released

UPDATE: Aerofoil is now at version 1.5.1.

Original post follows.

The award winning Aerofoil has now been updated to 1.5.0(_03)!
Aerofoil extends Vista and Windows 7 notebook battery life by:

  • Allowing you to manually disable Aero Glass.
  • Optionally managing Aero Glass user interface.
  • Optionally managing sound muting.
  • Optionally managing your chosen power plans.
  • Optionally managing Windows Sidebar.
  • Optionally showing a quick hibernate button.
  • Changing icon colour to show your power type.

Benefits over earlier versions and similar software:

  • Much more efficient - Aerofoil is 100% unmanaged C++ (no .Net Framework!).
  • Much smaller memory use (about 25%-30% of the size of similar software).
  • Unlike other apps, Aerofoil doesn't poll battery level continuously allowing the CPU save power by being idle more often.
  • UPX compressed meaning Aerofoil.exe is as small as it can be.
  • No configuration file - everything is customised with the installer.
  • Tried and tested on Windows 7 (thanks to D. Schiferli!)
  • Open source and free - no expiry date, adware, spyware or malware, download and compile it for yourself if you prefer*!

What reviewers of Aerofoil have had to say:

"Aerofoil Extends Your Battery Life Approximately 25%", "you really should download"
(netbooknews.com) Disclaimer: Aerofoil's author's (my) personal best has been (only) 10-15%, or ~10 minutes, on a 2 hour battery 17 inch HP notebook (DV9233EU) with power saver mode using the lowest screen brightness.

"This is definitely a worth-while little app for road warriors"
(Metro Area Personal Computer Club, Iowa, USA)

"great for gaming and notebook applications alike"
(Official Windows Magazine - 47th of top 100, 37th of top 40 Hot Apps / TechRadar)

"Aerofoil, though, is far, far smaller and more efficient"
(Dave Johnson, Bnet)

The great advantage of AeroFoil is little resource consumption..... works perfectly with Windows 7"
(Kavya, Techno360)

"a must for every Vista laptop user."
(Wim Van Acoleyen, ZDNet)

"Great utility for gamers and laptop users."
(The Glitch)

"simple yet amazingly effective software that the corporate bigwigs couldn't figure out"
(Umar, Techtites)

Downloads

Download Aerofoil 1.5.0_03 Installer

Download Aerofoil 1.5.0_03 Source Code (C++)

If you use Windows Vista and receive the message "Side-by-side configuration is incorrect" you may also need a Vista update - the Microsoft Visual C++ Redistributable

* Note Aerofoil.exe is compressed using UPX so you will find your compiled executable is larger. You can find UPX here. The source code has dependencies on the WxWidgets framework (2.8.8) and the project is for Visual Studio 2008.

35 comments:

Karl said...

Any chance of making disabling aero toggleable? Windows 7 automatically turns off aero glass when in power saver mode, and it looks a little better than aero basic.

Anonymous said...

This happens automatically on my Windows 7 laptop. It's on the balanced plan so my guess is that there's an option in the advanced power management settings.

Benjamin said...

Hi (my name is) Karl,

I'll look to remove the Aero disabling function in Windows 7 in 1.5.1. I don't like UI clutter so I'll probably just have an installer option (rather than a right click icon checkbox option) to allow Windows 7 to manage Aero Glass instead. The existing manual Enable/Disable Aero Glass will still be there since that is still useful.

Benjamin

Agnivo said...

How about adding a simple settings dialog... to the rt. click menu? I guess it'd be easier to change settings without having to reinstall the app. over again.

Benjamin said...

Hi Agnivom (and others),

I've been asked this question a lot, so I'll answer for other users too...

One of the things I was striving for in Aerofoil is simplicity. Adding a new dialog would mean additional code for a Settings screen, input validation, storing the settings (and file saving/loading management), etc etc. This to my mind is not bloat you want in a tiny app that is just meant to sit in the background. This is why Aerofoil lacks the extensive UI options screen you see in other similar programs*, but it also keeps it efficient and small, it has minimal CPU usage (no polling battery state for example which I believe other apps do) and minimal memory usage. Having the installer configure Aerofoil allows you to have it custom configured to your particular system and how you'd like it, and since really the defaults should only be changed once or twice I believe this to be an acceptable tradeoff, although I know other people disagree.

*please have a look at _actual_ memory usage of other similar programs - see the "commit" size - this is how much is set aside as temporary disk space, and working set, how much external code like UI libraries, runtime etc, is pulled in. An earlier version screenshot comparision on the link below (but is by no means unique to the one app I compared):

http://silentdevelopment.blogspot.com/2008/09/aerofoil-144-rated-47100-hot-100-vista.html

Having a large .Net runtime or extra code running defeats the purpose of having an app meant to save you cpu cycles and battery :)

As a side note - when Aerofoil has been running for a while it's actual memory usage drops to less than 600K (usually) :)

I hope this helps explain its slightly awkward configuration and why the application lacks certain features. :)

Best regards,

Benjamin

P.S. C++ source code is available so anybody is welcome to add a user interface if they want... GPL licenced of course. :)

DM said...

Loving Aerofoil on my Acer Aspire One D250 with Windows 7 HP, so I had to write about and recommend it on my blog at
http://dieselliveson.blogspot.com/2009/11/aerofoil-software-for-netbooks.html
Thanks for a great little tool.

Timothy said...

I like to save all setup files somewhere so that whenever I need to reformat, I have everything I need.
Anyway, I tried renaming the setup file and discovered that after doing that, setup doesn't ever open. I double click on it, but nothing pops up, doesn't show up in task manager, nothing.
Just FYI.

Timothy said...

Oh yeah, and the installer didn't put a readme.txt into the installed Aerofoil directory!

Benjamin said...

Hi Timothy,

Thanks for your feedback. I have no idea what could be causing your rename issue but I'll have a look into it within the next 48 hours. You didn't mention your specific setup (Win Vista/7 32/64 bit) or the version you are using (I assume the latest?) this would be useful to help me test.
As for the readme.txt I'm stumped - what very odd behaviour - this may be some sort of copy bug with the installer compiler - which is not something I can fix since it's not aerofoil code although it may be down to your specific OS configuration.

Thanks again for using this free software and giving your feedback,

Benjamin

Benjamin said...

Hi Timothy,

I did a bit of investigating (at 2.55am here) and found the following:

1: I can't prevent the renaming the executable problem - NSIS (the program creating the Aerofoil installer) seems to have a bug with the program name being in the installer (i.e. aerofoil_setup_1.5.0_02.exe fails, but remove the "l" from aerofoil and it appears to work).

2: I botched the installer on the 1.5.0 to 1.5.0_01 update -sorry- see my latest blog post for more info.

The links have been updated.

Apologies for the (second) issue you've had - please get the 1.5.0_02 release instead.

Benjamin

Timothy said...

Benjamin, thanks for getting back to me. There is one more important issue I would like to see addressed.

I would rather Aerofoil not manage my Power Plans, so I unchecked the "Auto Power Plan" from the right-click tray menu. However, the next time Aerofoil is loaded, this setting reverts back to having a check mark next to it.

I'm using Windows 7 Professional with the latest version of Aerofoil.

Benjamin said...

Hi Timothy,

Thanks for being very thorough and pointing out another minor bug! :)

Please see http://silentdevelopment.blogspot.com/2009/12/aerofoil-15003-out.html

(You can leave a message on that post)

Benjamin

Anonymous said...

I'm having a problem with aerofoil,
it used to run without problems but a few months ago the icon disappeared from the notification area
instead is an empty space where the icon should be.
reinstalling didn't help

Benjamin said...

To Anonymous,

I've not come across this error before.

All files (except shortcuts) copied by the installer by default reside in "C:\Program Files\Aerofoil".

If you uninstall Aerofoil ordinarily it will delete this folder - if it does not delete the folder manually and then reboot and attempt a re-install.

This might be an notification icon caching issue with Windows - not an Aerofoil issue - in which case you may see this problem happen with other icons over time.

A quick google of this problem (icon notification area blank) returns the following for me:

http://support.microsoft.com/kb/321213

http://forums.techguy.org/windows-xp/512763-solved-notification-area-blank.html

Hope this helps,

Benjamin

Anonymous said...

Hi.

The source code is not complete, I get an error regarding a missing "Property sheet file" file. Can you please fix this?
Many thanks.

-------------------
The following error has occurred during XML parsing:

File: C:\Projects\Temp\Aerofoil\AerofoilNative\AerofoilNative.vcproj
Line: 25
Column: 4
Error Message:
Property sheet file '..\..\..\..\Users\Benjamin\Documents\Visual Studio 2008\wx.vsprops' was not found or failed to load.
The file 'C:\Projects\Temp\Aerofoil\AerofoilNative\AerofoilNative.vcproj' has failed to load.

Benjamin said...

To anonymous:

Please drop me an email at ben at silentsoftware co uk (obviously fix the email address :) )

Benjamin

tommyla said...

i have a problem with aero and resume

1. Run Aerofoil with power plugged in
2. Unplugg power
3. set pc to sleep
4. turn on pc
5. Aerofoil wont work correctly

system
AMD Athlon II M300
Radeon HD 4200
Windows 7 32-bit

Anonymous said...

Hi Benjamin!

Could you program a function so you can disable the tray notifications telling that AF is enabled etc?

Sometimes AF gets annoying telling it is enabled bla blah, several times/minute.

I believe it's connected to the sleep/wake process, but not sure.

/sacke

Benjamin said...

I'll answer the last two comments in reverse order:

Regarding the status messages - yes they are caused by ANY power event (please see the readme FAQ why). You can disable them by re-running the installer (or just click the Configuration shortcut if it is installed already) and checking the box for notification messages (make sure you have 1.5.0_03 NOT 1.5.0_02 which has a messages bug).

The sleep issue is a known issue I've not been able to fix as it is down to the (passive) way Aerofoil listens for power events - if no power event notification is sent by Windows (which seems to be the case for some machines after sleep) then it doesn't know to correct the power mode. If Aerofoil kept checking the power mode status (which would remove the sleep issue) it would waste battery life! I'm at a loss as to why Windows doesn't always send events :( however as soon as you disconnect/reconnect power or any other power event is raised it should start working again. Related to this is an issue that Vista (and I guess Win7) occasionally decide to start ignoring requests to enable/disable Aero Glass - there is a fix in the code that works for me (see below).

Here's the relevant code - as you can see from the comments it listens to all power events.

// Do we have a power message?
if (WM_POWERBROADCAST == nMsg)
{
// Create a power status object to hold the power details
SYSTEM_POWER_STATUS status;

// Populate the status object
if (GetSystemPowerStatus(&status))
{
// Create a BOOL used to determine if we are on AC
BOOL onAC = (BOOL)(status.ACLineStatus);

// Set aero glass on/off depending on our power state
Aerofoil::EnableComposition(&onAC);

etc....

and multiple attempts to re-enable Aero Glass:
// Attempt to switch the glass mode multiple times
// Needed because Vista tends to "ignore" the requests
// occasionally
for (int attempts = 0; attempts < MAX_GLASS_ATTEMPTS; attempts++)

bigmudcake said...

Are you able to compile a 64 bit version to run on the 64bit version of Windows 7.

Also the sidebar is part of Vista only, is that correct, if so, maybe that option should be "greyed out" in the installer for other versions of Windows.

I must say, a fantastic app, I find it frustrating that Windows still does not include aero as part of a power plan, or that power plans can be switched automatically on battery/mains

Benjamin said...

Hi David,

Sidebar is known as Windows Desktop Gadgets in Windows 7 - technically it is no longer attached to the side of the screen but can still run by default.
http://en.wikipedia.org/wiki/Windows_Desktop_Gadgets

Unfortunately I only use Visual Studio 2008 Express which lacks 64bit build support but I'll look into 64 bit builds - to be honest there won't be any real improvement as the program is tiny. Of course you're welcome to buy me Visual Studio Pro ;)

I'll have a real Win 7 machine in a couple of months (Aerofoil is tested against Win 7 release candidate virtual machine) so keep an eye out.

Benjamin

bigmudcake said...

Thanks for your reply.

I can verify it works well on Windows 7 64bit Edition laptop.

Unless I am mistaken having a 64bit version running on 64bit Windows would mean it would not require WOW64 to be loaded thus saving usable memory. Not totally sure about this though.

Also have a look at the App http://www.itsamples.com/network-activity-indicator.html its another must have for Windows7 as it brings back the icon activity lights and easy access to all the network connections rather then going through the sharing center. It also has a settings dialog box but uses half the private RAM space that your app uses. The source code is there to look at, you may get some ideas for enhancements to your app.

Anyway this is a fantastic app, now to find where I can make a donation so you can get Visual Studio Pro :)

Benjamin said...

Hi David,

IIRC WOW64 does have an emulation layer overhead on some x86 chips but not on x86-64. This doesn't mean I'm happy as although it is minimal will be using some sort of hardware level translation (having said that I'm using 32bit Vista on an AMD64 X2 so I'm losing out too). Regarding the app size, the actual code is around 25K*, WxWidgets (UI) is what makes up the bulk :( Again this is constraint imposed by Visual Studio Express (C++) not allowing native unmanaged MFC UI based projects requiring me to find a third party widget API.

* Aerofoil 1.4.3 was in C# and ~25K in private memory obviously excluding all the .Net runtime that needed to load (which could be seen as commit size).

Benjamin

Anonymous said...

Hey, you maybe add an file downloaded message to the download page. I typed around 20 captche, because nothing happened FF downloaed it already in the background...also saves energy on servers and on my laptop. Thanks.

Unknown said...

I can't open the .vcproj file :(

Property sheet file '..\..\..\..\Users\Benjamin\Documents\Visual Studio 2008\wx.vsprops' was not found or failed to load.

Benjamin said...

@gonsalu

You need to install the wxwidgets and integrate the build of the wxwidgets source with Visual Studio. If I remember correctly the following page is what I used for VS C++ 2008 Express:

http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide

You will probably need to change the location of the dependencies yourself (i.e. your docs home folder)

edpw said...

Hi,

Thanks for your work on this, the program works brilliantly. Could I make a couple of features requests? Could you include an option to automatically hide the taskbar when on battery power and then show it again on ac power? And the option to automatically turn the bluetooth adapter off when on battery power and then back on again on ac power would be brilliant too.

Thanks again for making this great utility!

Anonymous said...

I have a problem with this app. I've installed it and it said it was missing a dll file. I've googled it and found something and now when I run the app it says: "The Procedure entry point invalid parameter noinfo noreturn could not be located in the dynamic link library MSVCR100.dll". Help me please.
10x!

Benjamin said...

Please read the IMPORTANT note on
http://silentdevelopment.blogspot.com/2010/05/aerofoil-151-released.html

(That page is the "Aerofoil 1.5.1 Description" right).

In summary you need a Microsoft Windows Update due to it being written in Visual C++ **2010**. The Microsoft link is provided on that page (ordinarily they put these things in service packs but Win 7 doesn't have one yet).

Unknown said...

Hi,
I had the same issue reported just above by EDPW about the "entry point invalid parameter....", followed your advice, downloaded the distribution of visual C++ with the mcrosoft link but still get the error after installing it.

Any thought ?

Benjamin said...

The missing entry point will be caused by an older or incorrect version of the runtime still being used - hence the entry point does not yet exist in the older version of code.

I would recommend that you try reinstalling the runtime (ensuring you have the correct version downloaded) and rebooting.

If this still doesn't work please can you give me some info on the version of Windows you are using (Vista/7/32/64 bit and processor model)?

Benjamin

Unknown said...

Well, I did re install the runntime linked on aerofoil development page, restarted my laptop but still got the invalid entry point error....

My system is seven ultimate x86 in french with a P8600 intel processor and the laptop itself being a toshiba Qosmio G50-136.

Benjamin said...

Hmmmm. I tested the 32bit version on Windows Vista 32bit. I don't know if this is any different but there is a French language variant of the c++ runtime page: http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

but I think you may have already got this?

Unknown said...

I think that last link was the one I used, but to be sure I used it with the repair to the original state option, reboot and still the error !

Hopefuuly, I already tweaked my energy plan with minimum sttings on battery. I guess the aero option will have to be set off manually...

Thanks anyway for your help !

Benjamin said...

Sorry I wasn't able to be of more help - you should just be able to use 1.5.0 still which feature wise isn't much different from 1.5.1 (if you have a 32 bit machine) but relies on the older c++ 2008 runtime library. Have a look at this folder and choose the 1.5.0 version :)
http://mirror.viperfang.net/silentdevelopments/downloads/aerofoil/

All the best,

Benjamin