Jin's recent post on development platforms got me thinking about Wharton Computing's position as a ColdFusion development shop.

ColdFusion is a powerful platform that I think works particularly well in our environment. CF is all about rapid development, plain and simple. It simplifies the day to day work of coding web apps. And as a service it's rock solid and easy to maintain on Windows machines. But this isn't a CF fanboy post. CF as a platform falls short for us in a few key ways because it's not as popular as some other web development platforms.

This causes a few problems for us:
  • It's difficult to hire experienced ColdFusion developers.
  • Our choices are limited in finding external resources for creating web applications.
  • There is a severe lack of mature, shrink-wrapped applications that run on ColdFusion as compared to other platforms.

Attracting and keeping talented developers
There are fewer CF developers in the world than say PHP, .Net, or Java developers. The smaller pool of experienced CF developers makes it difficult to find new employees. Of course, it seems like there's an easy fix. Switch over to something like PHP, .Net, or Java. Then we'd have an easier time hiring smart people, right?

Maybe not. More available developers does not mean more qualified developers. The number of people who can hit the ground running and be productive quickly is still a small percentage of the larger population. If we're interested in attracting and keeping quality workers then switching platforms is not an easy fix.

I'd argue that a team's workflow process, flexibility, and the software they produce far outweigh the benefits of any given choice in technology. It's how an organization uses technology that attracts quality developers. If we focus on the other positive aspects of our environment I think we could bring in advanced PHP, .Net, Java, etc. developers who are focused on producing usable applications quickly. Those kinds of folks can learn to work with whatever technologies we're using.

There are also some simple, low cost ways we can raise the visibility of Wharton Computing in the local technology community. We have impressive classrooms and other facilities to host technology meetups here. We can start to show a presence as an organization at local technology events. And we can start to use, contribute to, and create more open source software.

Finding reliable partners
When projects come along with more work than a group can handle it's important to have reliable outside vendors who can help fill in the gaps. Philadelphia has plenty of freelance and consulting resources available right now. But not all work with ColdFusion. So our options for hiring a local vendor are somewhat limited.

There's two things that I think would alleviate this issue. First is to support central hosting for custom .Net and PHP applications. We're already running Windows servers so .Net is a natural fit. And PHP is one of the most ubiquitous web environments around. Those two options would greatly open our options when working with outside resources.

There's no reason to scrap CF entirely. CF connects easily to .Net and PHP in a few different ways. We can continue to create new applications on different platforms. There's nothing preventing us from integrating applications across platforms.

Integration is easier though when it's included in the planning from the start. The second step here would be to create a web app advisory group. This group could be made up of representatives from existing groups to start. The group could review proposals for web projects from any group within Wharton Computing. And much the same way that the ColdFusion and SQL administrator groups conduct code reviews, the web advisory group could offer guidance on web projects from the start. They could offer advice on existing apps both inside and outside Wharton that might be useful starting points. The group could also come up with a set of standards that third party applications must meet in order to get onto centralized hosting.

Roll your own... around somebody else's
When a project calls for blogs, wikis, or content management there's very little reason to start rolling your own from scratch. Extending an existing system will save a lot of time over creating something wholly from scratch.

Let's start building internal applications and tools with an eye towards open source. That means creating, using, and contributing to existing projects. Some folks here are already doing this. But let's make it one of our goals as an organization. The more we share with the outside world, the more people will be interested in what we're doing here.

The ColdFusion community has come up with some interesting open sources packages. But most aren't as mature as the more established systems that run on other platforms. And at this point, even less technical users are already familiar with the UI experience of systems such as WordPress, MediaWiki, and Community Server.  

Here again is a strong case for centralized PHP and .Net hosting. We could restrict hosting access to approved applications and projects to limit server administration exposure. And we could assemble .Net and PHP code review groups to review any customizations that are developed. Many of the same coding issues that apply to CF apply to .Net and PHP. We don't all need to be platform specialists to spot common problems.

Most importantly, we could start rolling out functionality at a much faster pace than if we had to completely build it on our own.

Open some new doors
ColdFusion still serves us well for custom development. It's easy to work with, easy to teach & learn, and easy to administer. That's a lot of easy, right? Still, there seems to be some real value in opening the door a bit for other technologies. Even if we are just hosting and extending established applications.

An informal web app advisory board would serve us well. We could prevent a lot of headaches by vetting out projects well before they get to a code review. That's not to mention the improvements we'd make by connecting and reusing the various systems that already exist in the Wharton Computing eco-system. And it doesn't require any resources beyond what we have now. Who else wants to participate?

Facebook on Your Web Site

| | Comments (1)

Facebook's application platform was supposed to revolutionize the web. So far the framework is filling up profiles with zombies, Scrabble, and Oregon Trail. Apparently the revolution will not be web-ivised. At least not on Facebook.

oregontrail.jpg

Last week Facebook opened up their API and released a JavaScript library for use on web sites outside of Facebook. Now developers can build Facebook powered applications and put them on any web page without loading special software on the web server.

If you want to tap into Facebook on your own HTML (or CFM) page, all you have to do is put a simple html page on your site and load a JavaScript library file from Facebook's servers. From there you can do things like display a user's friend list with a few lines of JavaScript code.

Check out the details over on the Facebook developer site.

In the short term we'll probably start seeing Zombies all over every WordPress blog. Yuck.

Still, there's no denying the massive size of Facebook's membership base and the relationship data that goes along with it. Tapping into that data could be a great way to draw users into your own web applications.

Office Space

| | Comments (3)
vance.jpg

The building I work in looks interesting from the outside. The side is surrounded in large panels of glass that would seem to let in large doses of sunlight. It looks a bit like a greenhouse.

Inside, the building consists of office space converted from old classrooms that looks like, well, office space converted from old classrooms. Most of us sit in spacious cubicles.

My own cube has a spartan, ultra-minimalist feel to it. While I generally like it that way, it could definitely use some decorating.

While looking around the other day for some inspiration, I came across a few sites that showcase office space. It's interesting to peek into design firms, tech companies, and even artist workshops to see the things different people do with their spaces.

Office Snapshots

Each post on this site exposes the insides of one company. Most of the places are either tech or media companies. There's loads of pics to look at. Some are wild. Some are boring.

My favorites are:

  • Virb (I like the sharp red and the open feel)
  • Zazzle (artwork everywhere)
  • Wazap (their Berlin office is wide open and crisp)
  • Threadless (this place feels warm and alive).

On My Desk

This site focuses on artists and creative workers. Each post shows one person's workspace.

Geekadelphia: Cubesday

Adding a little local flavor, local blog Geekadelphia runs a semi-regular feature highlighting pimped-out cubes. The collection is still young. But it seems worth following.