December 2006 - Posts

Flickr Cube

This is why I need to start building applications that use WPF....very cool!  Hrm, I probably need some sort of design skill to create something as slick as that though...oh well.

 

Technorati tags: , ,

Are you trying to tell me that SOA is real?

I've heard a lot of people discount SOA as a bogus buzzword which people are throwing around to describe anything that they want to sell you.  While I think that's mostly true, I also believe there are a lot of people building systems on top of services with great success.  For a few examples, checkout Ten companies where SOA made a difference in 2006.  I'm hoping that some of our clients make it on the list for 2007, 2008, and beyond as we start rolling out our software, and getting people using the services layer that we're providing. 

 

Technorati tags: ,

Ten Web API's you can really use

I've grown increasingly interested in taking advantage of all the free web services that are popping up.  LinuxWorld recently published an article about "Ten Web API's you can really use".  For those, like me, interested in seeing real life web services (of the public nature) that are being made available to the world, I'd suggest checking out some of the API's they cover. 

Another great source that I found a couple months ago is the ProgrammableWeb.  They have over 350 API's cataloged and are growing their database daily.

Technorati tags: , , ,

Growing a business, and profit margin, on top of Amazon

Yesterday I posted about how I'm considering using Amazon S3 as my backup solution.  This evening I went searching to see what tools are available for working with S3 and found myself at SmugMug.  When the SmugMug homepage loaded I wasn't sure how or why I ended up there.  After a little bit of backtracking to the Amazon S3 Solutions Catalog page I found a couple comments that suggested that SmugMug was using S3 as part of their infrastructure.  Again after a little digging, I came to Don MacAskill's blog post entitled, "Amazon S3: Show me the money".  Done reading?  If not let me wait, you really have to read his post, its amazing......ok all done?

SmugMug is saving an incredible amount of money by moving much of their storage infrastructure to Amazon S3.  Rather than purchasing servers and storage as their needs increase, SmugMug is leaning on S3.  As a result, they've already saved $350,000 in the last 7 months, and are expecting to save over $1,000,000 in 2007.  That's $1 million more dollars that they can spend improving their business, or enjoying themselves.  The more I read about the web service offerings from Amazon, the more ideas that come to mind.  What kind of "muck" are you dealing with that Amazon might be able to help you with? 

Technorati Tags: , , ,

Backup your life with S3?

I've recently been considering a couple different options for backing up all the stuff I have on my PC's, external hard drives, and etc. to some remote location.  While I have backups of some of my stuff, and do a decent job of replicating things across machines (thanks to Subversion) I really need to come up with a backup plan that involves computers that don't all sit inside my house.  One obvious considering is Amazon's Simple Storage Service (S3).  Another possibility is Mozy (hey it's free!). 

Via Greg, I recently found S3Drive, which is a file system driver that provides access to S3 storage, very cool!  What do you use to backup your life?

 

Technorati tags: , , , ,

WPF layer for Composite UI Application Block (CAB)

We've been doing a ton of CAB work over the last year and have been having a lot of success.  The CAB framework has provided us with a great foundation for building a modular software application which can be customized on a per client basis.  Sam and others on the team have made a couple pushes to try and get WPF incorporated into our product.  Due to the fact that CAB doesn't come with built in "support" for CAB, as well as some other internal factors we haven't yet made the plunge.  I'm hopeful that the Patterns & Practices team will start up another development cycle with the goal of porting CAB to a WPF.  However, if that doesn't happen perhaps the WPF layer for CAB project on CodePlex will provide us with what we need?

 

Technorati tags: , ,

Increase the performance of CAB and ObjectBuilder

We've recently been discussing ways that we might be able to reduce the start up time for our application.  One of the approaches is to implement some client side caching of lookup data which will reduce the amount of times we need to go across the wire during startup.  A second area that we've been investigating is how we might be able to reduce the overhead that comes with the reflective nature of CAB/ObjectBuilder.  During startup ObjectBuilder reflects upon the modules that make up a CAB application so that it can perform all its magical wonder such as wiring up EventSubscription's, EventPublication's, ServiceDependency's, and etc. 

Although we haven't done any testing to see if they help, I'm very interesting to checkout the CabGen and ObGen tools that are available in the latest drop of the Mobile Client Software Factory.  You can read a little more about the reasoning behind the tools in Eugenio's "Notes on (extreme) Performance requirements for CAB" post.  I'll report back with findings...

 

Technorati tags: , , , ,

How to scale, the eBay way

Over on the Adding Simplicity blog I came across a very interesting presentation on "How eBay Scales" (along with a ton of other posts that I have queued up for later reading).  While very few people have to worry about scaling to the level that the likes of Amazon and eBay do, its still very interesting to hear about the things they do to help them scale.  The section I found most fascinating was "Scaling the Data Tier".  It turns out that due to the high volume of SQL requests made against their database they do whatever they can to limit the amount of work done by the database.  This includes partitioning the databases horizontally by "primary access path", as well as removing all business logic from the database.  This means no stored procedures and only very simple triggers for populating default values.  Additionally they move CPU intensive work to the application layer instead of the relying on the database.  This means doing referential integrity checks, joins, and sorting all within the application layer rather than the database.  One final interesting point is that they don't allow any client side database transactions.  Oh I almost forgot, they also use an internally developed "pure Java" O/R Mapping solution.

Anyway, if you're interesting in hearing about how eBay scales their site checkout the presentation and subscribe to the Adding Simplicity blog.

 

Technorati tags: ,

Nick Bradbury on Simplicity Ain't So Simple

Nick Bradbury knows his stuff.  He's created several extremely successfully software products, including one of my favorite pieces of software at the moment, FeedDemon.  Nick has a series of posts that discuss the struggles the come with trying to make software simple. 

As software developers I don't think we spend nearly enough time thinking about how we can make our software simple.  We think a lot about adding features and functionality but are we doing so in the simplest way possible?  Just because a feature was hard for us to code doesn't mean it should be hard to use.  We need to strive for "simplicity", "elegance", and "beauty" in the software we produce.

 

Technorati tags: ,

Occasionally Connected Clients and the ADO.NET Sync Framework

We've recently been thinking about data synchronization options for our Smart Client application.  While we don't see allowing a truly disconnected experience we would like to reduce the amount of data that we need to send between our application servers and our smart client.  Since we're going to have deployment scenarios where our app server is across a big ocean from where our client sits we need to start thinking about how we can reduce the amount of data going across the wire.

This weekend I watched Steve Lasker's screencast on the upcoming sync framework that may be a part of Orcas.  With all the talk surrounding LINQ, LINQ to Entities, and the ADO.NET Entity Framework I somehow missed any mention of the Sync component that is being worked on.  In his demo Steve shows a simple demonstration of the various scenarios that the Sync framework supports and briefly talks about how SQL Server Compact Edition fits into the equation.  I'm concerned about the tight coupling the the sync framework appears to have on DataSets as our architecture doesn't exactly include anything DataSet related. Regardless, it seems like there is some interesting developments happening in the Occasionally Connected space now that SQL Server Compact Edition is getting closer to release.

Technorati tags: , , ,

Recommendations for iPod Video Converter?

I recently got an iPod Video and am looking for a good app that will convert misc video formats to the format required by my iPod video.  Any suggestions?  A google search turns up a ton, so I'm hoping somebody has had a good experience with one.  I'd like to setup the software to monitor a folder, and when a file is dumped in the folder have it automatically converted and copied to my iPod.  My only other requirement is that it handles all the major file formats that I'm likely to run into.