I present to you, VMware Server 1.0 beta 1

Wow, what a ride. We just put out this morning (or late last night, depending on time zone) beta 1 of our new VMware Server product. Now you know why I’ve been saying “I’m really busy, can we discuss this later?”

Yes, this is the one that you may have heard rumors about on CNET, Slashdot, etc., but those sites didn’t all have the facts right.

What VMware Server Is:

  • Free virtualization for servers.
  • A way to give people free virtualization with the hope that they’ll consider eventually moving up to ESX for the enterprise.
  • Based on VMware GSX.
  • The successor to GSX.
  • Capable of 64-bit guests, Virtual SMP, new guests like Ubuntu, auto-detect devices, etc.
  • Capable of opening Workstation 5.5 VMs.
  • Available for Linux and Windows hosts. It should be the same set that Workstation 5.5 works on.
  • Ported to GTK2 (using a slightly more evolved Workstation 5.5-based UI).
  • Beta!

What VMware Server Is Not:

  • A stripped down or crippled version of VMware GSX. Server has even more capabilities than GSX did.
  • A replacement for Workstation. VMware Server has no support for multiple snapshots or team functionality, and while Server is a server product, Workstation is a good desktop and development product.
  • A replacement for Player. Player is still high on our priority list, and we useful for the average person who just wants to run VMs.
  • A response to an apparent Xen or QEMU threat. While Xen has potential, it’s primarily just a hypervisor, and we’ve had one of those for ages. The interesting work is built on top of that (as XenSource, another proprietary software company, is doing).
  • A sign that VMware is doomed. I’ve heard this one a lot, and it just makes me chuckle. This should be taken as a sign that we’re doing pretty good. How many companies have the insight and abilities to give away their products for free and still make money?
  • A dead product before it begins. I don’t think there’s a worry about that. We’ve put a lot of effort into it so far, and are already hard at work on beta 2.
  • A money sink for us. We’ll be making money through optional support contracts.

I’m especially proud of this product. I’ve invested a lot of time into it, and so has everybody else involved. I’d like to thank everybody who has had to put up with me telling them I’m too busy for this or that lately 🙂 We’ll be working hard on getting this to a mature 1.0 state.

A few project updates

I’ve been putting off several posts for a few days now, due to just being busy with things. So, here we go.

Notification Framework

I just put out a couple of good releases of notification-daemon and libnotify. A few days ago, I released version 0.3.2 of both components, and tonight I put out notification-daemon v0.3.3, which contains a few nice bug fixes such as a fix to prevent notifications when the screen saver is active or when something is running full-screen. The style of the notifications has been changed to resemble the look from notification-daemon v0.2.x. It now supports theme engines, so that other looks can be developed. The protocol has improved and stabilised a bit, and the API and general code of both components have been cleaned up, thanks to J5’s work.

Galago

Galago’s been on hold lately due to work and trying to get the new notification-daemon and libnotify ready for distros. Development has picked up again, and I’m hoping I have very little to do before I can put out the 0.5.0 releases of all the components. Finally, libgalago will be GLib/GObject-based, and the API will be a lot more sane. Plus, Python bindings! Yay!

Oh, and I’m moving to Trac for our bug tracking (see trac.galago-project.org). This is real nice, because I can now reference bugs in commit messages and they’ll close automatically with the commit message. It’s also quite clean and easy to use. I’m slowly moving some bugs over, but I’ll continue to monitor the bugzilla for a while.

Leaftag

Remember those screenshots of our tag integration I posted? It too has been on hold, but it’s far from vaporware. We’re calling it leaftag, and I think our logo is somewhat cute :). I have very little left to do before the library is released, and I should be able to redo the Nautilus support quickly. I’ve been using the tagging almost every day. Now I just need to find the time to get this ready. Maybe at one of these upcoming hackfests I’ve been doing (and really hope to do more) with friends.

VMware

Busy busy busy, but good. I’m working on some pretty exciting stuff. More about this later 🙂

Oh, and someone needs to remind me to put up a picture of our cool new Workstation 5.5 sweaters featuring Mario!

VMware Player 1.0 Released!

As of yesterday, we’ve released the final version of VMware Player 1.0. Up to now, VMware Player has been in beta, so if you’ve been using it, it’s time to upgrade.

For those who haven’t heard of VMware Player, I’ll give some details. The Player is a program for Windows and Linux used to run existing virtual machines. If you have a VM created with Workstation or through a third party VM creator program, you can run it in the Player. It won’t be slower than in Workstation, it won’t have a time limit, and it won’t nag at you to purchase a product. It’s a free program so that people can see the power of VMs and make use of them in their day-to-day activities. If you decide later to buy a more powerful VMware product to take advantage of VM creation, snapshotting, teams, etc, that’s entirely your choice 🙂

There is a FAQ discussing several questions such as redistribution rights of the player.

We’re now starting to link to interesting virtual machines built by the community. Want to try Fedora Core 4? Download a VM and the Player and start using it without setting up a new partition and rebooting. There’s AstLinux, an open source PBX. The links on the left of the page will take you to VMs created by other companies. These include the Ubuntu Breezy VM, SuSE and Novell Linux Desktop, amongst many others.

There is also our Browser Appliance VM, which is designed to provide basically a jail for web browsing, instant messaging, and e-mail. Useful to give to your kids so that they won’t mess up your computer 🙂 We’ve had this for a while, but it’s recently been updated, and we now even provide a bittorrent of the VM.

A search for “VMware Player” provides over 2 million results. There’s a number of good links that show up, including VMs provided by others and third party tools.

About a year ago, I had plans to purchase a computer for my little sister so that she’d have a desktop of games that she could use without having to touch the family computers. Instead, I’m going to less expensive route and will be building a VM of games like Tux Paint. I can now put the VM on the computer and install VMware Player, and she’ll be set. Or maybe stick them on a 1GB memory stick so that she can play her games anywhere she goes… once I’m confident she won’t lose it 😉

libview 0.5.5 released!

Another release to talk about. As promised, libview 0.5.5 was released. It’s mainly a bug fix release with a couple of API additions. The highlights are as follows:

Release Notes:

  • Fixed a bug in UIGroup where Merge wouldn’t call Unmerge if the group was already merged.
  • Fixed a bug where deactivating the AutoDrawer while it was moving would not do the right thing.
  • Added support for keeping the AutoDrawer open while the focus is inside it.
  • Added support for setting an alignment in the Header widget.
  • WrapLabel now wraps properly when being passed text in its constructor.

VMware Workstation 5.5 released!

It’s official. We’ve released VMware Workstation 5.5. I could go on and on about how cool a release it is, but instead I’ll provide a short, non-comprehensive list of the changes:

  • 64-bit guest support (on 64-bit hosts)
  • Experimental support for Virtual SMP (make some use of that HT-enabled processor!)
  • Much improved USB support.
  • Improved support for bridging to a wireless networking device on Linux hosts.
  • Auto-detect device support. Set your floppy, CD-ROM, etc. devices to auto-detect, and Workstation will make a best guess attempt at finding the device on the system. This allows VMs to be a bit more portable, as device paths and names no longer have to be hard-coded. For now, this is off by default for backward-compatibility reasons, but it’s easy to turn on on a per-device-basis.
  • Far better support for auto-resizing Linux guests.
  • Official Ubuntu Linux support.
  • Improvements in vmware-config.pl. If your kernel version and your compiler version don’t match, the script will attempt to find a compiler that does work. For example, if your kernel is compiled with gcc 3.4 and /usr/bin/gcc points to gcc 4.0, but you have /usr/bin/gcc-3.4, vmware-config.pl will use the 3.4 version.
  • The Snapshot Manager now allows for multiple snapshots to be selected at once. This is useful for deleting.
  • First release to use libview, VMware’s Incredibly Exciting Widgets, our MIT-licensed GTKMM/GTK+ widgets. (Linux-only, of course)
  • User interface cleanups on Linux. Specifically, we have improved the UI on many themes. The theme now renders the pages and headers on the pages. This dramatically improves the feel of the program on many themes.
  • Includes VMware Player.
  • Lots of bug fixes.

It’s a very nice release. If you’re a licensed user of Workstation 5.0, you have a free upgrade to 5.5. For all those lucky people who received a license at the Boston GNOME Summit, go nuts 🙂

As always, there are screenshots available. If you look closely, you’ll even spot a familiar nick.

Oh, and expect a libview 0.5.5 release within a couple of hours. This was unofficially released a couple of weeks ago, but was never actually put up. Woops 🙂 Stay tuned.

libview 0.5.3/0.5.4 released

Today, we released libview 0.5.3, with some awesome new widgets, such as FieldEntry and IPEntry. A short while later we released 0.5.4, which was a small bug fix release. It’s a really cool release/set of releases, and I think people will find FieldEntry/IPEntry interesting, as I haven’t seen anything like that in the GTK+ world yet.

I spent the past hour writing some documentation on what exactly libview consists of, complete with screenshots. It’s available on the Widgets and Classes page on view.sf.net. I hope this is of interest to some people.

Assuming people are lazy, though, I’m posting screenshots of the new widgets below:

FieldEntry
IPEntry

VMware Player – What’s the catch?

There has been a lot of excitement about VMware Player on Slashdot and other sites. I’ve also seen many people talk about it on IRC and some have messaged me with questions. Namely, what’s the catch? Why give away our virtualization platform? Are the VMs DRMed? Will they expire? Do they not work as well as in Workstation?

There’s no catch. This is the same virtualization platform we use in Workstation. The VMs are the same VMs. They won’t expire. They should work just as well in the Player as they do in Workstation.

Now, Workstation does have a number of features that take advantage of what virtualization can do. The Player does not have many of these features. Examples include multiple snapshots (which is an awesome feature, as many Workstation users will tell you), cloning, VM creation, and teams. It does suspend, however. If you close the Player while a VM is running, it will suspend. The next time you start it up, it will be in exactly the same place as when you left it.

Now, as to the question of why we’re doing this. Eventually, virtualization will be everywhere. Microsoft has said that Longhorn will contain (someday) contain virtualization support. Xen is another virtualization platform that someday will be available to all users for the tasks they need. Virtualization won’t be the interesting thing of tomorrow. What you do with it will be. For example, let’s look at multiple snapshots again. You can create snapshots of various configurations and sofware installations in your VM and then at any point revert back to one. If you’re about to upgrade your Windows XP VM to SP2, you can snapshot before the install. If things go horribly wrong, you can revert to that snapshot, and be exactly where you left off.

ESX’s VMotion is another example. With VMotion, you can move, say, a running database VM from one physical computer to another with no interruption. This is important for enterprises who may have to deal with a hardware failure. If a piece of hardware on the physical server is starting to go bad, you can move the running VMs to a good piece of hardware without any downtime at all. There’s more information about VMotion on the Virtual Center FAQs page.

Those are two very cool uses of virtualization, and there are many more that you will see in time. So, the platform, while still very important, no longer becomes the interesting part of it. It’s what virtualization allows you to do that just wasn’t possible or was very difficult before.

The other major question I have received is about third party software to create or modify VMs. Is this allowed? Will VMware go after you? I should make it clear first that I don’t speak for VMware in this post, and that everything stated is of my own opinion. Standard disclaimer, etc. Now, if you want to create or modify VMs, you can still get the free trial of Workstation and use that. Hopefully you’ll see all that it has to offer and buy it 🙂 If you’re a student, you can usually get discounts, and they’re often given out at VMware conferences. I hope that Workstation offers more value to most people than just being able to create VMs. That being said, I don’t believe we’d go after anybody that created such tools. (Insert standard disclaimer again 🙂

If you haven’t tried Workstation 5.5 beta yet, though, give it a try and see if it’s worth it first. It’s an awesome product.

So, yeah, in summary, no evil ulterior motive, just like there wasn’t with the release of libview, which is our cool widget library, built upon the wonderful gtkmm (like the rest of Workstation and the Player). We try to be a good company.

There’s a new player in town

I apologize for the subject line.

VMware announced today at VMworld 2005 the VMware Player for Windows and Linux. It’s a free program that allows users to use VMs without needing to purchase Workstation. It’s not a substitute for Workstation, as it won’t allow you to create or modify VMs or to snapshot them, but it’s still very useful. You can download VMs that others have created, such as from our collection of VMs on VMTN.

The Linux version of the Player was written mainly by Philip Langdale. He talks a bit more about it in his blog.

Included below are a couple of screenshots of the Player in action.

VMPlayer
Windows 2000 VM
Fedora Core 4 VM

Updated: The Win2K thumbnail now actually points to the Win2K screenshot. Hey, look! The Incredible Machine!

Update 2: If you tried posting a comment on my blog, but had trouble, try again. It should all be sorted out now.

Widgets are bendable, flexible slabs of fun

I’ve been hacking on another sexy GtkEntry subclass, but this time, it’s not part of libsexy. It’s part of libview, VMware’s Incredibly Exciting Widgets. One of our developers built an IP Entry widget a short while ago, but it had some issues and just felt hard to use. I’ve never liked IP entries, particularly the windows ones, as they just felt too rigid and limiting. I always felt that I had to learn how to work for the widget instead of the widget working for me.

So I set out to do this right. I created a FieldEntry widget that is a GtkEntry subclass for displaying fields and validating fields. Users see delimiters spaced out evenly across the widget, just far enough for the content they are to display. Each field is center-aligned (this will be customizable in subclasses soon). The IPEntry subclasses this.

Now, the Windows IP entry are annoying for several reasons. I would like to list them now:

  • You can’t copy or paste an IP address. You can only copy or paste one field of the IP address.
  • Typing three digits in a field automatically jumps to the next field. If you made a mistake, you have to move the cursor to the left field and retype.
  • Clicking inbetween fields causes the very first field to be selected.

I know there are others. I’m just tired.

So, I’ve addressed all of these. Copying and pasting work beautifully. When you type three characters of an IP entry field (or maxFieldWidth of whatever the FieldEntry has set) it doesn’t jump to the next field. However, if you start typing the next number (which is what you do on the Windows one) it will then jump to the next field and insert the text. Typing the delimiter (‘.’ on IP entries) will jump as well. Backspacing just works, even across fields. Clicking inbetween fields moves to the nearest field. And much more!

Bottom line: It feels natural to use. It’s there largely as a visual aid, and to allow you to easily get to fields, and such. But it doesn’t force you to type in a certain model. If you’re used to the Windows one, this will feel natural. If you’re used to just typing an IP address into an entry, this will feel natural. I’m quite happy with this one.

Now, it’s written in C++ for GTKMM, so if you want to use it in your C program, you’ll have to port it. I would love to see any ports that people wish to do, but mainly, I’d want to see this in GTK+ someday. We’ll see.

It’s available in libview cvs on SourceForge (see the link above) in the “staging” branch (as it’s pending review for inclusion in HEAD). Please, if you find any bugs or have usability issues, I’d love to know them.

Update: As requested, a screenshot!

IP Entry

libview has a website!

I’ve been hacking on libview’s new website. It’s not complete yet, but it has links to the downloads, news, some API documentation, SourceForge project page, etc. I just need to set up some form of script for the news page. I may just use WordPress or something, assuming I can get that working on SourceForge.

We’re going to release libview v0.5.1 fairly soon, once we move some more widgets into it and clean up a few things. Test programs and hopefully screenshots will be coming soon (though screenshots don’t do most of the widgets justice, as you really do have to play with them).