Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 40 posts ] Go to page 1, 2, 3  Next
Author Message
 Post subject: So, what's next after v15.9?
PostPosted: Wed Oct 07, 2015 4:36 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
As soon as v15.9 was out the door, work started on the next release.

I'll be posting new features here as they are implemented, so users can have an idea of what will be in the next release.

As always, please feel free to comment. Suggestions and constructive criticism are always welcome, even if I don't always agree with them. :wink:

For now, here is what has already been implemented since the v15.9 release:


1. When running for the first time, the Weather module in v15.9 automatically tries to determine the user's location based on his IP address, i.e.; using a Geo Location service.

This Geo Location service returns the country code, city, and latitude/longitude coordinates for that IP address.

The city is then matched against an internal database (with over 38,000 locations) to get the all important corresponding Weather.com and METAR codes.

If a direct match is not found, the Weather module defaults to one location for that country, usually the capital or one of the major cities.

Unfortunately I didn't notice when making v15.9 that the city returned by the Geo Location service contained accented characters (e.g.; Algueirão instead of Algueirao). The locations in the database have no accented characters, so this alone is responsible for a lot of mismatches resulting in the weather module defaulting to a capital/major city.

This has been corrected in the next release.

Furthermore, if a direct match is still not found even when using city names without accents, the weather module now makes good use of the latitude and longitude coordinates returned by the Geo Location service (via another weather service) to try to find a direct match. In some cases (i.e.; unknown locations in the database, although I have yet to find one) it will even add new items to the internal database.

All in all, the odds of getting the user's correct location in the next release have increased exponentially.


2. Minimizing windows to (and restoring from) the dock.

This (like the ability implemented in v15.9 to combine dock icons with running applications so you don't have repeated icons of, say, Chrome or Firefox when the dock is displaying running applications) was an old request. In v15.9 a lot of focus was put on implementing popular requests. This one was unfortunately left behind, but will be there in the next release.

If you are running Winstep Xtreme, windows can obviously be minimized to the NextSTART taskbar as well.

This feature will be turned off by default, so you will have to enable it explicitly.


3. Under Winstep Xtreme desktop modules can now be scaled up as well as down. In v15.9 you could only scale them down.

This was implemented because v15.9 is now (finally) fully high-DPI aware.

When an application is not marked as high-DPI aware on a high DPI system (i.e.; one where the text size is set above 100%, as it usually happens on very high resolution monitors), the system will automatically (literally!) magnify *everything* (docks, User Interface, etc...) using a mechanism called 'DPI virtualization'.

Everything will be bigger but also (because it is being automatically magnified) a lot blurry. The higher the DPI, the blurrier everything gets under DPI virtualization.

DPI virtualization also caused other problems in versions prior to v15.9, from users not being able to select tabs in the Preferences screen to not being able to position docks on monitors other than the primary on multi-monitor systems.

With v15.9 all these problems were solved. No more blurriness, docks retain the correct icon size, and the User Interface (UI) got bigger (as it should, but without becoming blurry) to match the current system DPI.

Under v15.9, on high DPI systems not only does the UI become bigger, but, by default, so do menus and the text size of all items in the Shelf if you are running Nexus Ultimate or Winstep Xtreme. These two behaviors can be disabled individually if the user so wishes, with both menus and the Shelf text then retaining their intended sizes regardless of current system DPI.

But one thing was 'left behind', so to say: the Desktop Modules in Winstep Xtreme. Being fixed size 'skins', in v15.9 they retain their original size regardless of the current system DPI.

The problem is that some users with poor eye-sight or very high resolution monitors on versions prior to v15.9 were actually depending on the fact that DPI virtualization made Desktop Modules bigger.

Desktop Modules already had a mechanism to scale them down to smaller sizes, but not up (which could be used to make up for the fact that they were now smaller in comparison to versions prior to v15.9, where DPI virtualization was still in effect).

To fix this, in the next release Desktop Modules can be scaled up as well as down, with a 10% to 200% range (with 100% being normal/original size). Furthermore, they are automatically scaled up on high DPI systems (although, as it happens with menus and the Shelf in v15.9, this behavior can be disabled).

Note, however, that scaling Desktop Modules up will make them become blurrier.


4. Users can now hide updates on the Winstep Update Manager.

Previously, if the user was not interested in installing a particular update for whatever reason, he had no choice but to disable Update Notifications, otherwise he would get another notification for the same update 24 hours later (talk about unwillingly nagging someone to death :wink: ).

He would then probably forget that update notifications were disabled and would remain unaware of other updates released down the road, some of which might actually interest him.

When the user gets notified of a new Update, he now has the possibility to hide that particular updating by selecting 'Never (Hide this Update)' in answer to the question 'Remind me again in'...

He won't get any more notifications for that particular update, but will still be notified of any releases after that.


5. Language Pack Updates

The Winstep Update Manager has had the ability to notify the user of language file updates for quite some time now, but this feature had not been used before.

Language Updates are made in such a way that the user is only notified if an update to his particular language exists, i.e.; if only the French language files have been updated, only French speaking users will receive a notification.

This is what happened this week: thanks to Reynaud Lionel, French users of all Winstep Xtreme products will now receive a complete, high-quality, translation.

Unfortunately under v15.9 you will need to restart the application (or re-select the current language) to enjoy the new and updated translations. This issue has been fixed in the next release, where the currently selected language will automatically refresh itself after a language pack update.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Tue Oct 13, 2015 2:12 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
6. Calculating the Aero Glass blur effect is now about 4 times faster with no apparent loss of quality (Vista/7 only or 8/10 with AeroGlass installed).

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Tue Oct 13, 2015 6:45 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
7. Added backup Yahoo Weather feed to make up for the fact that the Google Weather feed is no longer available. Current available feeds are NOOA for current conditions plus Weather.com, MSN Weather and Yahoo Weather for current/forecast conditions.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Thu Oct 15, 2015 12:20 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
8. Hmmm... :shock:

Image

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Oct 16, 2015 3:25 am 
Offline
User avatar

Joined: Sat Aug 07, 2010 4:23 am
Posts: 108
Location: Lynn, MA (USA)
AWESOME ! ! !
:D :D :D :D :D :D :D :D :D

_________________
My computer is making weird growling noises!
Oh, wait. That's my stomach, it's lunch time!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Oct 16, 2015 3:58 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
winstep wrote:

There's NO way this could be real, so it must be SPAM! I almost reported it. ;-)

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Oct 16, 2015 4:14 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
lol

It's real alright. Remember the once mythical Nexus, Paul? :wink:

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Oct 16, 2015 5:09 pm 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
winstep wrote:
lol

It's real alright. Remember the once mythical Nexus, Paul? :wink:

Nexus was only a myth for like 26 years. Nothing compared to this. :mrgreen:

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Oct 16, 2015 10:47 pm 
Offline

Joined: Fri Jun 29, 2012 3:15 am
Posts: 41
Ooooo... Theme builder...

Yes Please!! :D


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Tue Oct 20, 2015 12:08 am 
Offline
User avatar

Joined: Fri Mar 19, 2004 1:25 am
Posts: 241
Omg. The theme builder!! Oh man, I'm drooling.


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Wed Nov 04, 2015 7:02 pm 
Offline

Joined: Fri Mar 30, 2007 6:58 pm
Posts: 99
Location: Cincinnati, Ohio
Might be nice to have a "fail safe" checklist type of arrangement...to make sure a vital element hasn't been missed.

Also, another thought...workflow. Perhaps a suggested work flow could be offered as sort of a skeleton...so the skinner works efficiently...of course, that should probably come about from Winstep Forums from actual skinners...and it'll probably be pretty variable. Still, it might be a valuable topic thread once the experimental module for Nexus Dock becomes available.

As an aside...wouldn't a Winstep Wiki (here in Forums) for skinning with the new skinning module be a great thing to start?

_________________
Dr.J.


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Wed Nov 04, 2015 7:16 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
docbert wrote:
As an aside...wouldn't a Winstep Wiki (here in Forums) for skinning with the new skinning module be a great thing to start?


The Theme Builder itself takes care of that part. Everything is explained in detail... that's one of the reasons why it's taking me so long to do this thing.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Nov 20, 2015 4:13 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
9. New UPS/Battery meter module.

Able to optionally show battery charge percentage and/or estimated runtime remaining. Available in vertical and horizontal styles, the battery 'charge' background (usually green) can be colorized or replaced with a user-defined image. Battery charge can also be optionally set to turn yellow when the remaining charge is low and red when critical.

Also includes ability to log power events (useful information - especially for those with UPSs backing up their desktop systems - that Windows should show in the System Events log but doesn't).

Image

Image

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Fri Nov 27, 2015 1:07 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Ah, the wonderful world of batteries and Windows power management! lol

For those who like reading about how (and why) these things are done:

Adding more modules/widgets had been on my to-do list for quite a while. However, I also realized that to do this I would have to make a lot of changes to the code.

You see, each module inside Nexus/WorkShelf is like a separate mini-application within the major application that is Nexus/WorkShelf. When I first started doing WorkShelf, I started adding those modules one by one, each module having separate code written specifically for it. As the number of modules grew, it became evident that, since they share so many properties, I should have used a more, well, modular approach. Hindsight is of course 20/20 vision.

Adding a new module meant essentially copying and pasting a lot of code from other modules, and this code was all over the place. So I knew it was time to turn those modules into 'objects' with common properties, a sort of database if you like, with code common to all to manage them.

This meant changing and unifying THOUSANDS of lines of code that were spread all over the main application - and I'm not exaggerating. :) Thank God for Search & Replace.

Since I knew how much work such a thing would imply, initially I wanted to leave these changes to a later release, one possibly completely dedicated to adding more modules.

The change of mind came about because of two reasons: first I was bored with working on the Theme Builder and needed something more challenging, second I had just replaced the batteries on my two APC UPSs (a SmartUPS 1000VA and a SmartUPS 2200VA) and decided to use the 1000VA one to provide backup power to my Windows 10 PC.

One thing I always hated about Windows power management, or more specifically about the little battery icon on the system notification area, is that for UPSs (at least for APC UPSs) the thing does not provide much information at all. Even though the Smart range of APC UPSs is able to provide a torrent of information, from run time remaining, to voltage, temperature, battery load, etc..., all the little icon in the notification area tells me is the current battery charge.

Furthermore, Windows does not record power events - which is fine if you are talking about laptops with their own internal batteries, but not so good when talking about UPSs. If you have an UPS, you want to know if the power failed while you were away, what happened, if the system automatically shutdown in time, etc...

With APC UPSs, this can be accomplished by installing proprietary software called PowerChute, but doing so completely disables Windows native power management. Plus Powerchute is not exactly a work of art, visually speaking. ;-)

So this is what prompted me to add the new Battery module and plunge head on into all the changes I knew I had to make in order to make it that much easier to add new modules in the future. It had to be done sooner or later, so it might as well be now.

That was a solid week of constant work and planning, with heavy use of Search and Replace and a lot of concentration required not to break anything that was previously working fine (knock on wood).

At the same time I was adding the building blocks of what would become the new battery monitor module. Power management was an area completely new to me, so there was a lot to learn too.

First I started by using GetSystemPowerStatus to poll the battery. This would tell me if a battery was installed on the system, if it was on AC Power or On Battery, the battery charge and, supposedly, also the run time remaining.

Except it did not give me a run time for my APC UPS, it was always zero (even though it did for my laptop, but only when the laptop was not connected to AC Power).

GetSystemPowerStatus is very limited and only gives me the very basic information, plus it was lacking the much needed run time available, so I turned to WMI.

WMI allows you to retrieve an incredible amount of information about the system. In this case, I used the Win32_Battery WMI class to retrieve info regarding the battery and current power state. Through WMI I was also able to get the runtime remaining info I so much wanted (why that information, being available, was not being passed to GetSystemPowerStatus, I have no idea), plus other details such as battery chemistry, battery/UPS name, etc...

But I soon noticed a problem. I was polling the UPS every second, and, from time to time, WorkShelf would freeze for a couple of seconds. It didn't always happen and, when it did, it was random.

Of course, I quickly noticed that the call to WMI would sometimes take a long time to return, thus blocking the application for a couple of seconds. I assumed this had to do with the way data is collected by WMI itself, and so I decided to dig deeper and communicate directly with the battery device driver via DeviceIoControl.

This was another can of worms, and turned out to be a very frustrating night to get things to work right. First you have to enumerate all available batteries on the system with SetupDiEnumDeviceInterfaces to get a battery device name, you then use that device name with CreateFile to get a battery handle, and only then you can finally request battery information with DeviceIoControl.

Converting all those API calls and structures to classic VB was pretty much a nightmare, but it was also rewarding since now I had access to even more battery information not exposed at the higher levels. Stuff like Battery Serial Number, Battery Voltage, Battery Health, etc...

... and then DeviceIoControl blocked too.

It was only then that I realized WMI was not to blame, the call was sometimes blocking at the device driver level.

I'm not sure why it happens. Perhaps because here on this PC I'm also running AIDA64 (formerly known as Everest) which collects a lot of info about my system, including battery information. Perhaps the two programs are clashing, trying to access battery information at the same time or something like that.

Doesn't matter (and, if it is a conflict, I'm glad it happened since it allowed me to code around it). I've resorted to a lot of tricks (including mixing GetSystemPowerStatus into the equation again) to minimize this problem. For now things seem to be fine, but if I notice that those blocking moments are still noticeable I still have a last resort trick, which is to access DeviceIoControl asynchronously using an Overlapped structure.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v15.9?
PostPosted: Tue Dec 01, 2015 4:12 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
10. Clock module Alarms.

Another (popular) feature request that had been on the to-do list for a very loooong time.

These are not ordinary alarms, either. Besides showing pop-up reminders on the screen and playing music files at specific times, the alarm scheduler is also able to run other applications as well as Winstep internal commands.

Since the scheduler itself is extremely flexible (you have run once, run daily, run weekly and run monthly options, and you can even have an alarm fire 'on the second Thursday of the month', for instance) this is actually a very powerful mini-Task Scheduler. Of course, not as powerful as the Windows Task Scheduler itself, but on the other hand it is a million times easier to use.

You can create, edit, delete and temporarily disable alarms. The scheduler can even - optionally - wake your computer from Sleep/Hibernation to run an alarm.

Image

Image

Image

Alarm reminders can also be made to appear full screen. This is perfect if you want to replace your regular alarm clock with your laptop/tablet.

Besides user customized playlists, it gives you current weather and battery information. Pressing the Space bar will Snooze the alarm and pressing ESC will close it. You can also set the volume of the M3U backed playlist to start lower and slowly raise with time, so you don't suddenly jolt awake.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 40 posts ] Go to page 1, 2, 3  Next
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: Google [Bot] and 89 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron