Cloud Folders Increase Productivity

Being a web developer, I usually use several different computers on different operating systems across the lifetime of any project. Personally, I have 5 computers plus one server: Access to a Vista PC, a Windows 7 virtualized installation, my main Mandriva Linux desktop, a Eee 701 PC with Eeebuntu, a Mandriva Linux laptop, and a FreeBSD development server.

Moving files from one computer to the next used to be a time-consuming and ultimately prohibitive process. If I wanted to, say, take a break from working on my PC and work at the Red Brick Cafe for a few hours, I’d have to download my work files to a USB memory card then export the MySQL database and do the same transfer again to the USB memory card.

Or, I could burn a CD. Of course, how does one get the updated files back off the laptop and onto the PC when arriving back at home? This arduous process basically meant that freedom of choice in the work environment was severely hampered and was often more trouble than it was worth. But not any more.

Enter Dropbox (note: referral URL!).

Dropbox is a free service that is basically a shared folder in the cloud. It makes sharing files amongst any computer, whether it be Mac, Linux, or Windows, easy as drag and drop. And I really mean that. I love things that speed up my work processes because the less time I spend in administration mode the more time I can accomplish tasks in programming mode. Dropbox exemplifies this manifesto.

Any file you put in the Dropbox folder on a computer will instantly be available on any computer that install Dropbox on. Even better, revisions are kept so if you make a mistake with a file and don’t have backups, you can pull the file in question from the archives to restore it. What makes Dropbox different from any other revision or archiving setup is that this is all done without any administration by the user. Literally if you drag a file into the folder, all this stuff is done for you. No committing changes, no crazy hoops to jump through.

Oh, and the 2GB storage starter account is completely free. It’s the one I use daily. I don’t even think I’ve hit 25% capacity yet.

Take a look at Dropbox at http://www.dropbox.com/

Windows Azure SDK + Visual Studio 2008 Error

Error creating Windows Azure project in VS2008. Help!

This is not a typical blog post for this blog and I apologize for this one in advance. I’ve been working with some friends from Coffee and Code on gearing up Azure development and I need the community’s help. Your help.

I’ve freshly installed a copy of Windows 7 in VirtualBox. I’ve installed Visual Studio 2008 Professional and its SP1. I’ve also selected .NET framework 3.5 from the Windows features menu. I’ve reinstalled DX11 and Uninstalled then reinstalled the Azure SDK and the Azure VS2008 tools.

Every time I go to create a new project I get this error:

'Grid' object cannot be added to 'Grid'.
Exception from HRESULT: 0x88980406.
Error at object 'System.Windows.Controls.Grid' in markup file.
'Microsoft.VisualStudio.CloudService.Wizard;component/newprojectdialogcontent.xaml'.

After I click OK (the only option available), Visual Studio shows the message in the status bar:

Creating project AppTest ... project creation failed.

I’ve searched on the web and asked around to find a fix for this error as I’d really like to get going on Azure development. Can anyone in the community help me?

Update! I’ve since learned that this is due to a bug between the 3D acceleration in VirtualBox, Windows 7, and Windows Azure SDK.

Windows Azure is Windows 8

I sat in my office last night trying to identify what Microsoft is doing to combat upstart thin-client operating systems like Google Chrome OS, continue making money with its very popular offline Office suite and offline Windows platform, and compete against Amazon for data and web services now that the world is moving into cloud services.

They will have a lot of competition in the next 3 to 5 years against their core, money-making software products and I believe their plan is to leverage the millions of existing .NET developers and all of the skills they’ve spent years developing to change Windows from a boxed product to a subscription-based “Windows-As-A-Service” service.

I’ve been working with the Windows Azure platform for a few weeks now and I have to say I’m quite impressed. Launching apps is pretty easy once you have the required software installed and there are plenty of projects already listed at CodePlex to get you started. Moving from .NET development to Azure development is a piece of cake. They also appear to be much more open to supporting non-Microsoft development languages such as Ruby and PHP. As a Linux guy, I have to admit they’ve put this together pretty damn well.

Currently, the industry has only paid attention to the web application deployment features of Azure. I believe the true power of Azure is not just deploying scaling web applications but in its ability to launch virtualized desktops from the cloud. Let me explain what I envision Microsoft’s plans to be for the future of the entire software lineup.

The Home PC Market

Imagine you’re a standard, nuclear family buying a home PC in the year 2015. You go to Staples (or whatever your big box store of choice is) and look at what they offer. They have a number of PCs for sale but because by this time most computers have enough horsepower for the home user, the hardware statistics are subdued or even missing. Instead, the software features are prominently displayed.

Available for sale is a home PC that will give you Windows Azure (includes 5 users, Internet Explorer, Office Home, Zune music and PC game marketplace). There are three prices, depending on how long your contract term is, similar to a mobile phone.

  • 3-year contract: $249 hardware cost + $99.99 / year Windows Azure subscription
  • 2-year contract: $499 hardware cost + $99.99 / year Windows Azure subscription
  • No contract: $599 hardware cost + $99.99 / year Windows Azure subscription

You bring the PC home after buying the 3-year contract (who replaces a home PC within 3 years anyway, right?) and turn the machine on. The default software on the machine is a thin-client that simply facilitates the connection to Windows Azure. You create the users for each of your family members and in behind the scenes each of them gets a virtualized desktop (probably Windows 7 renamed to be Azure Home or something of the sort), hosted in the cloud. Instantly all activation, piracy, and product key woes are a thing of the past.

Because the virtualizations are hosted in the cloud, all of the annoyances that current operating systems have would be minimized or eliminated. Consider: All updates to the operating system could happen while the PC is, effectively, off. If Microsoft chose to solidify the hardware requirements for manufacturers, the platform would no longer need drivers after a fresh install and driver updates would happen transparently.

On the each virtualized desktop is an icon for the Zune marketplace where users can purchase Windows apps like iPhone subscribers can: from their app store. Clicking purchase would instantly make available the software you’ve purchased.

The benefit of all this is that of every cloud: You don’t always need to be on the same PC to do your work. You could sit at any computer in an airport, school, library, cafe, or your home and access your desktop from anywhere. Truly this is the stuff of the future.

SMB Market

Because the virtualized desktops will be running the Windows everyone already knows, application development will remain just as easy as it ever has. Developers who are out there, making applications on the Windows platform will only need to learn “What’s new” instead of “What’s changed?”

Businesses will be sold on cost reduction since the Windows Azure platform removes almost all administration and IT support requirements from the business. If you can plug a PC in, you’re pretty much good to go. No more crazy Windows product keys or version incompatibilities. All apps on your virtualization would be incrementally updated over time. Since everyone on the service is paying yearly, this would cover the cost to Microsoft normally attributed to upgrading.

The Windows Azure Business option would also include an SLA.

Corporation / Government Market

For this market, Microsoft would take the SMB Market platform and simply multiply it to handle thousands of PCs. Likely they would offer additional support, a better SLA, and decreased per-unit cost due to bulk sales and contracts.

All of this is really magical stuff and I really hope the future turns out to be something similar. The other exciting part of Azure is what most people focus on: the fact that it offers nearly unlimited storage, computation, and development possibilities for developers and businesses. And that’s where Microsoft needs to cut the mustard. Or else, this whole thing is for nothing.

In order to get businesses and users to adopt the new platform, there has to be killer applications available on it. New stuff, not just Office and IE. Fun stuff like Google Goggles or Twitter. And that can only come from a completely open and available system to let the minds of developers take their crazy dreams and put them into code.

If I could make an impassioned plea to Microsoft, from a developer, please offer us an Azure development option at no cost. We’re not asking you to host our million hits per day website for free, just something we can log into, put up and app and see if it gets some traction. If it’s good and generates some revenue, give us a call and we’ll sell it or start paying.

What do all of you think of the possibilities of this new service? Are you excited about Azure? Let me know in the comments!

Well, I’ve officially made the switch to Mandriva Linux.

After years of dual-booting between Windows XP and Mandriva, I made the decision to bring the hammer down and get rid of the former. My original intention was to make the switch when I bought a new PC but my hand was forced as I came home from work on Friday to a locked-up Windows XP desktop that never came back.

Fear not: no data was lost as Mandriva can read Windows drives. I backed up my things onto my /home partition and waved goodbye.

It’s been a roller-coaster past with Windows XP. When it first came out, I irrationally hated it. Once I got used to it, I found it actually worked pretty well. Mostly. Sure, it lacked some of the neat features Mandriva had (rotating cube desktop, wallpaper playlists, etc.) and you never quite knew when the next time it would fail was, but it got the job done. Formatting was a bitch since most installs didn’t have a separate files and settings partition from the system partition and going through the hassle of calling India to promise them you only had one copy of it installed was always a treat.

When Vista came out I was put off by even more Digital Restriction Management (DRM) but wanted to see how it performed nonetheless. I can honestly say after using it at work for the past year and a half that it will never come close to being installed on my machines. So, that leaves us the little engine that could: Mandriva.

It’s been just over 2 days since breaking up with Windows XP and I have to say, I don’t miss a thing.