van_stats 0.3 Beta 1
After some final touches in terms of features and UI, van_stats has gone beta! Get it now on the van_stats page. Note that van_stats Server is still alpha quality but a few things that were holding it back from beta have been resolved (password protection and encryption). While the encryption isn't perfect, it is a step in the right direction. If I can find a better means of encrypting, it will replace what is currently being used. As such, the warning that your connection is unencrypted and "password protection-less" will remain as I am unsure how secure it actually is. Therefore, while there is some basic encryption and password protection, I am treating the software as having neither until I determine the quality of each.
If you wish to test van_stats Server (which I recommend you only do on a local network), the default password is pass. To change it (for now), you will have to edit the source. To change the password, edit line 107 in van_stats_server.py that says the following:
self.password = "pass"
to what you wish. For example, if I wanted to change the password to "gorilla", I would change the line to the following:
self.password = "gorilla"
A more elegant solution will come in the future but again, van_stats Server should still be considered alpha quality software.
Changelog:
- multiple monitors now accounted for in display resolution info
--- this also have the positive side effect of lessening further the dependence on wx
- removed separators from toolbar and toolbar is now vertical
- check update is much faster - no more pauses and current_version file isn't downloaded
- you now can't export to either html or pdf and can not print unless you've printed stats
--- for some reason, I had neglected to check this earlier
- van_stats Server now has basic encryption and password protection (see above though)
Obligatory screenshot:

van_stats 0.3 beta 1
van_stats 0.3 Update
Well, van_stats 0.3 has now reached "feature freeze" and development has now entered the testing/debugging phase. In other words, no new features will be added and the remainder of development for 0.3 will focus on testing and debugging. As such, expect beta 1 to be arriving shortly. Features to consider testing are the pdf export, print support and van_stats Server. Note the alpha status of van_stats Server - although van_stats Server is included with the 0.3 source, it is still very much under development and very much it's own product. Just because it is included with 0.3 beta 1 does not mean it has reached beta status.
Note that if you are using van_stats Server, no form of encryption or password protection has been implemented yet. This will be the next major focus (hopefully) after the release of van_stats 0.3. As such, expect van_stats 0.3 to ship before a stable version of van_stats Server does. I am in the process of considering shipping van_stats Server 0.1 separately from van_stats 0.3 to accommodate this fact.
For those who like visual representations of development, here is the final UI for van_stats 0.3:
van_stats 0.3 Alpha 2
As promised, van_stats 0.3 "Hermes" Alpha 2 is released. Download it now on the van_stats page.
Changes since Alpha 1
- Added SSID info, time zone, network time and external IP stats.
- Lessened the dependence on wx for stats - this allows for more info to be available through van_stats Server.
- Print support - stats can be printed to your default printer (choice of printer to come in the future).
- PDF support - stats can now be saved to a pdf.
While there have been changes to van_stats Server, the version remains at 0.1 Alpha 1. I have left it as such because the only major changes were the addition and modification of the stats collection code. Nothing has changed in terms of actually serving up the stats.
Known Issues
- Not everything is available through van_stats Server - user name and display resolution are still not available.
- Export to HTML and Export to PDF can be performed even if no stats are collected.
- No feedback if print job does not succeed.
- Help still leads to the help for 0.2 - this isn't a flaw with the program but more a lack of updates to the help docs.
Enjoy!
Note: This is a pre-release version of van_stats provided for testing purposes. If you need stability and correct operation, continue to use the stable version of van_stats.
van_stats 0.3 Alpha 2 Update
I'm looking to release 0.3 Alpha 2 tomorrow. I'm at a point where I have van_stats at that perfect place for an alpha - it's got some new features, seems stable but I expect things to be broken. I'm just going to make some small changes tomorrow and it will be up. In the meantime, a screenshot:

van_stats 0.3 (Alpha 2)
Since the last update, I have added PDF support and printing support. These features will be receiving the most testing over the next few weeks.
van_stats Server (0.1 alpha) Tutorial/Linux Support
This is a quick tutorial on how to use the alpha version of van_stats Server. Remember, again, that the data being sent from your server to the client is unencrypted. If this is a concern, do not run van_stats Server.
The following will get you a van_stats server up and running:
- Find out what directory van_stats_server.py is in. For the sake of this article, I will assume it is in ~/Downloads (~ = home directory).
- Open up Terminal (/Applications/Utilities/).
- Type the following to change to the Downloads folder in your user directory:
cd ~/Downloads
- Type the following to start van_stats Server with logging:
python van_stats_server.py logconns
- Type the following to start it without logging:
python van_stats_server.py nologconns
- That's it.
You're Terminal prompt should now look something like the following:

van_stats Server 0.1 alpha running (with logging enabled) on Mac OS X 10.6.2.
To exit, simply press Control-C. A more elegant solution is coming but remember, this is an alpha in the very early stages of development. The focus right now is simply on getting it to work - function over usage for now.
Linux Support
Also note that the first van_stats 0.3 alpha (alpha 2 coming soon!) will run on Linux. When I say it will run on Linux, it will only be able to pull stats from a van_stats Server. If run on a Linux client, it will not be able to gather stats about the machine it is on. If you want to run it on Linux, you will need to ensure that you have Python installed (I've never seen a distro where it wasn't installed by default) and wxPython. The name of the wxPython package differs from distribution to distribution but look for something along the lines of wxPython or python-wxGTK.
Obligatory screenshot:

van_stats 0.3 running under openSUSE 11.2 (GNOME 2.28).
van_stats Update
The last few days have been devoted to adding new info. I figured I had spent a lot of time working on the app and very little time on adding new stats! So far, I have added info about your SSID (if you're connecting wirelessly), your timezone and whether or not you are getting your time from a network server. More to come. If you have any suggestions, contact me on Twitter: @vansmith85. More updates to come!
A Comparison of Firefox UI Elements on Windows, Linux and OS X
Many people have commented on the performance of Firefox and attempts at developing a UI that works best with all platforms. Now, this will not be an extensive comparison of the integration of Firefox on the three platforms and will instead focus on the one element of integration that has been bothering me for quite some time: UI elements as they are represented on a webpage. For instance, does a button on a webpage look like the Windows/Cocoa/GTK or QT button or does it take on the appearance of another button? Does the element look out of place on all platforms but out of place equally? Perhaps the best example of this is the Swing style from Java that looks out of place everywhere but it does look the same on each platform.
For the sake of brevity, I will be focusing on only one element - the dropdown box. I am very well aware of the fact that this lacks methodological rigor but I am not trying to be rigorous. Instead, I am trying to make a point that Firefox, despite very obvious advances, still has a way to go. Why am I making this point? Should we not be happy that the application works fairly well on each platform? Perhaps we should but perhaps we should use that one browser that works on each platform that has very few to no UI element integration issues: Chrome/Chromium. This browser does not look so out of place when you are using web apps because the elements are actually the elements of the native underlying OS. After seeing the ability of Google to do this with a fairly new browser that make me question what it is that Firefox has done with UI element integration. Hence, I wish to illustrate what the dropdown box looks like on each of the platforms.
For this "study", I have Firefox 3.6 RC 1 - the newest released version of Firefox (release in terms of being "officially" released in some capacity). Let's start with Windows:

Dropdown box from Date and Time settings.
That is a picture of the default dropdown box style of Windows 7/Windows Server 2008 R2. Let's take a look at how the dropdown box looks in Firefox. For the sake of consistency in the comparison, I have taken two examples of the dropdown box in Firefox and the reason for this will become evident shortly. The two examples I have decided to use are the "subscribe" dropdown box for this page's RSS feeds and the language selector dropdown box for Google. Here are how each of the dropdown boxes are represented:

RSS feed for Windows.

Google language selector on Windows.
As you can see, the difference is not hugely different. In fact, the RSS dropdown box looks identical while the language dropdown box doesn't look all that out of place. Now, let's take a look at how dropdown boxes are represented in Fedora 12 running GNOME.

Dropdown box from the resolution settings for Fedora.

Dropdown box from the resolution settings for Fedora (clicked).
For comparisons sake, here is how the dropdown box looks like in Firefox:

RSS feed for Fedora/GNOME.

Google language selector for Fedora/GNOME.
Finally, here is how dropdown boxes are represented on the platform that got me seriously considering this argument: OS X. Here is what a dropdown box looks like in OS X.

Date and Time Network settings for OS X.
and

Sound output settings for OS X.
For comparison, here is how the dropdown box is represented in OS X for both the RSS feed page and Google language page:

RSS feed for OS X.

Google language selector for OS X.
Assessment
Windows
The Windows version of Firefox manages to maintain much of the same UI look that you would find in native Windows specific apps. Both the RSS and Google language selector dropdown boxes look fairly "Windowsish".
Fedora/GNOME
The Fedora/GNOME dropdown boxes are a bit of a different story. The dropdown menu for the RSS and the language selector have the same problems that are seen with the OS X version. The main problem here is that normally with both OS X and GNOME, the menu for a dropdown box appears over the dropdown box and not right underneath it. So, while the RSS menu looks like the menu, it's positioned in the wrong spot. As for the Google language selector dropdown, it doesn't even look similar in colour (look at the background colour).
OS X
Now, on to the OS that fueled the desire to comment on this issue. Let's start with the RSS feed dropdown which I assume is meant to take on the look of the more common dropdown see in the "sound output" example. Here, the dropdown menu suffers from the same problems that the GNOME example does in that the menu, while looking like it should, appears in the wrong place. I have never seen that style menu actually start underneath the dropdown except in Firefox (I assume it looks this way in Thunderbird and Sunbird but I don't know for sure so I will keep my judgments limited to Firefox). As for the Google language selector dropdown, it again looks like the proper menu (date and time dropdown) except for one obvious mistake: the look of the dropdown control itself doesn't even come close. In the OS X/Cocoa one, the far right is a simple blue box with a down arrow which is next to a textbox style control where the text can be selected and/or edited. In the Firefox example, the dropdown control looks like the more common OS X one while acting nothing like it. It looks like it's going to act like the sound setting version yet ends up looking like the date and time network version.
Conclusion
I hope you're still with me because I want to tell you the one word (mentioned earlier) that caused me to finally start thinking about the UI problems with Firefox: Chromium. Chrome/Chromium has managed to integrate proper controls and work with the controls of the OS as opposed to trying to emulate them in a way that looks horrible. Chromium has left me even more disappointed with how Mozilla is working on integrating Firefox into the platform on which it is running. I'm left asking how it is that the Chromium team can create a faster (WebKit > Gecko) browser and one that integrates better while only having been in development for a fraction of the time. Nonetheless, I will continue to use Firefox for other reasons but it has become readily apparent that the UI controls in Firefox are going to behave the way they wish and not the way they should...except for Windows where they will work the way they should. Don't forget Mozilla: integration matters for all platforms.
Again, this was a very limited look at integration but does illustrate the problems with integration that Firefox suffers from.
van_stats 0.3 Alpha 1
I have gotten the development of van_stats 0.3 to a point where I want both to show you what I have and for you to try out what is done. At this point, there is very little different in van_stats other than the inclusion of EFI info and everything is now in alphabetical order. In the toolbar though is a button for connecting to the newly developed van_stats_server (creative isn't it?). van_stats_server is a command line script you run on a Mac that you have network access to and it will "serve" up the stats of that Mac to any client that knows the IP of your machine. Note though that the server at this point has no encryption or password protection. As it stands right now, there is some basic logging that is less than optimal but it's there. For now, I'm more interested in seeing whether or not this works.
What's missing?
- Password protection or encryption.
- You can only request everything (no selective stats) and not everything is available. Right now, machine host name and each of the items in "user info" are not available.
Do not use this in everyday/regular use. You are still encouraged to stick to van_stats 0.2 for now if you need reliable info. That said, if you're interested in trying out the new server, feel free to try out the 0.3 Alpha 1. Note that if you try the server, you need to push "Control-C" to exit. I realize that this is not excellent but this is for now the correct way to shut it down. Also note that you need to pass the script a parameter. So, execute it in one of two ways:
- python van_stats_server.py logconns
- python van_stats_server.py nologconns
logconns will log connections while nologconns will not log connections. For now, you need to be explicit in your decision as to whether you want connections logged.
The reasons for the long delay are varied. Professionally, I have been extraordinarily busy with school and personally, I took a break and worked on two side-projects: a URL shortener client for bit.ly, tinyurl, tr.im and is.gd along with a command line twitter client. I am in the process of deciding whether or not to post the code for these not because I want to keep the code secret (go FOSS!) but because I may want to keep these as personal learning projects.
Download it now from the van_stats page!
