Web Development

Tools or resources useful for web development

OpenStack is the only thing that prevents Hosting Apocalypse

I imagine what Rackspace gets out of this is, that if successful, they will at least have some sort of leverage with Amazon. Amazon is a machine. Amazon executes to perfection and they release new features at a relentless pace with no signs of slowing down. They don't leave much of a door open for others to get into the game. With a real open cloud alternative it might allow a lot of people to play in the cloud space that would have been squeezed out before.

What Amazon can't match is the open cloud's capability of simultaneous supporting applications that can run seamlessly in a private cloud hosted in a corporate datacenter, in local development and test clouds, and in a full featured public cloud.

OpenStack is the first development in the cloud space that hints at a future where there actually are more than half a dozen big platform / cloud providers (aka Hosting Apocalypse).

What does Rackspace get out of it? Well, they don't get obliterated and/or don't have to try and be a VAR on top of someone else's stack. This open source approach allows them a chance at controlling their own destiny.

What are other large hosting / data center providers doing? Nothing much - riding out the end of shared hosting and getting sold to by VMWare, from what I can see.

Automatic WordPress Backup using Amazon S3

I mentioned the Automatic WordPress Backup plugin briefly in my post about Standing Cloud. I've now installed and configured it, and aside from a few UI issues, it's great.

You'll need an Amazon Web Services / S3 account to get started. Grab your access key and security key from the security credentials part of your account. Download / install the backup plugin (here it is on wordpress.org - search inside WP for "automatic wordpress backup" and it should come up).

You choose what to backup. You really do want to check all the boxes -- your database, all your files, plugins, themes, uploaded content, etc. On the site in which I have it installed, each backup is about 100MB.

Backups are kept for a month and then deleted, and monthly backups are kept for a year. At 100MB / backup, that's about 3GB (plus a bit more for keeping those monthly backups). At Amazon S3's pricing of 15¢ / GB, that's.... under 50¢ / month to have your site backed up every single day.

You can restore directly from within the interface as well, so this is a pretty turn key system. The UI is all in one page and a little clunky, and I did make some comments on what could be improved:

  • In general, I would split the one big page into several tabs. A backups tab, a restore tab, and so on.
  • if you add a progress indicator, or in general display a floating message that says “backup in progress”, then people will understand that a backup is happening.
  • I would also do an immediate check against the access key / secret key and put in a green checkmark to indicate that it has connected correctly – with the secret key hidden, I’m always unsure if I’ve cut / pasted it correctly.

Of course, what about VaultPress, the commercial service? Well, in beta, they're charging $15 / month per blog at the Basic level, $40 / month for Premium. Or, um, 30x - 80x more expensive than doing it yourself with this plugin and Amazon S3. Their FAQ says that they are also doing security monitoring -- aka figuring out when your blog is hacked. And yes, most people are going to have to spend some time figuring out the Amazon interface and so on. But I really can't see how they can keep pricing at this level with this kind of free plugin available.

Configurable settings for features

So what have we accomplished? We can now override the value of the items per page in the blog view without overriding the feature. Furthermore, we can also export a new feature that encapsulates this change. Since the configuration is held in a variable, we can use strongarm to export that variable into a feature of its own. For example, we can have a feature called siteb_blog that has a dependency on tha_blog and a variable to override the items_per_page.

Decomposing a site into features to build an install profile

Great walk through of how the folks at Funny Monkey deconstructed a site to turn it into several types of Features so that it could be easily plugged together and managed as an install profile.

Applications found while not finding a real web design application

Jason Santa Maria wrote a long post called A Real Web Design Application, where he talks about searching for a tool that has the creativity of Photoshop with more of a native understanding of the web. It's a good read, and the comments are over 250 and counting.

I remember talking about how Dreamweaver is dead as part of my 3 Stages of Dynamic Systems talk at Web Directions North 2008. And yet, just the other day I met with someone that was doing a content-based startup and had built hundreds of pages with Dreamweaver templates.

 

Today, I tend to still reach for OmniGraffle for prototyping, site maps, and so on. On the other end of things, I'm still using a basic text editor for coding (Smultron). I love the team at Balsamiq, but I just haven't been able to get over my distaste for AIR apps. I don't use Photoshop, because I'm design-disabled :P

In any case, I found two interesting tools in the comment thread that might at the very least be Dreamweaver killers.

We're not teaching programming and we should be

One of the things I talk about with everyone I meet at NYU if they're willing to listen is that we're not teaching programming and we should be. I think every person who graduates with a bachelor's degree should have one semester of programming, just as they should have one semester of journalism.

via scripting.com

Private code repo hosting with Beanstalk and RepositoryHosting.com

For many years, I've settled on Unfuddle as my hosted tool of choice for development-focused project management and version control repo hosting. It's a great tool if you want all in one development ticketing / bug tracking (which is what I mean when I say "dev focused" PM) plus your code repository all in one place.

However, I've been moving away from using Unfuddle for this type of project management, or been called into other projects where an existing PM tool is already in place -- most notable, either Basecamp or Open Atrium, with the Drupal-based Atrium being something I'm very keen on supporting (interested in seeing more hosted tools integrated with Open Atrium? contact me).

In cases like this, I really ONLY need a (private) hosted code repository*. I saw an article recently comparing various options for private DVCS hosting (DVCS = distributed version control systems like Git or Mercurial) which nicely complimented some of the research/experimentation that I've been doing.

The review states its goals very clearly: lowest cost-per-repository, with storage used as a secondary consideration. Everyone will have their own needs to rank providers across.

For me, I'm interested in a mix between features and pricing, especially using it on a consulting basis with lots of clients, and different kinds of clients (from those that don't use version control at all, to those that have in house developers already).

RepositoryHosting.com is clearly the lowest price-per-repository: it's $6 / month for unlimited repos with a bundled 2GB of storage, plus $1 per additional GB of storage. No "cost per project" means I can generate a project per client / idea / whatever and not have to worry about it. There is bundled ticketing in the form of Trac, and it's likely OK / has evolved since I got sick of it when we used it at Bryght -- I'm not giving points in this review for PM tools in any case. The WebDAV shares is a very cool feature, especially for integrating clients, designers, and other folks into the mix that will find it hard to adopt the version control system directly.

On the features side of things, my pick goes to Beanstalk. It starts with a free plan so you can check it out right away with 1 private repo. The first paid plan is $15 per month, and I'm fine with their 10 repository limit, but I'm always annoyed at limited user counts. Regardless, it is a super clean interface that people will find very easy to use and it integrates with a ton of different tools (Twitter, Basecamp, Harvest, etc.). But the main reason it is a choice that I'm going to be using more and more is that it offers direct FTP / SFTP deployment. I think this makes it a perfect tool for design-centric shops -- they can continue to use FTP-based hosting services and workflows, while starting to adopt best practices version control.

Bottom line: Unfuddle is a great all in one solution and one that I recommend to clients over and over again if they have no PM or development management tools in place, but for just repo hosting, you should consider RepositoryHosting.com and Beanstalk.

Another #Drupal product - Khairn, Requirements Driven Project Management

Managing projects is a complex endeavour, and you lose track too easily .