Brad Feld

Month: September 2008

I have completely fallen in love with my Kindle.  I’ve now read over 50 books on it and have another 50 or so queued up.  I’ve been reading exclusively on my Kindle when I travel (I no longer carry books with me), although I do read from the infinite pile of books in my house when I’m home.  As a mega-reader, Amazon has completely nailed it.

However, I have one problem with the Kindle.  DRM. 

I view the Kindle as a pure substitute for a book.  The way a book works is that I can read it and – when I’m done – I can give it to Amy to read.  She can then give it to a friend of her’s to read.  Or put it on her bookshelf.

I can’t do this with the Kindle.  I can read the book.  I can put it on my bookshelf.  But I can’t give it to Amy.

Now, I don’t have a problem with the fact that I can’t copy a book and have it simultaneously on two Kindles.  However, Amazon has already solved for this – it lets me store my books on either my Kindle or in my Amazon account.  So, I’m one small step away from "sharing" my book with Amy where she could then download it and read it on her Kindle.  At this moment in time, she’d have it on her Kindle but I wouldn’t have it on my Kindle.

That’s how books work.  That’s how the Kindle could work.  I’d even be satisfied with having a limit on the number of people that I could share a book with (at least two; less than five) and would be ok with a permanent association between a few Kindles.  Remember – share means that we can’t read it at the same time.

It makes no sense to me that I can physically give Amy my Kindle to read a book on, but can’t transfer the book to her to read on her Kindle.  Oh – so very close.

We’ve done TechStars for two years now.  While I love every company involved, each year I’ve had a major crush on one particular company.  This year it was Foodzie.

I liked Rob, Emily, and Nik from the minute I met them at TechStars for a Day.  They came up to me and offered me chocolate. Brilliant.  They then explained that they were creating an online marketplace for artisan food producers and growers. Their target customer are foodies.  As a foodie (and major consumer of artisan foods – just look at my body shape even after running all the marathons I do) I totally got it.

They did a great job this summer honing their business, working out logistics and pricing, and getting their first few producers up and running.  Are you a chocolate lover – give Seth Ellis Chocolatier a try.  Popcorn anyone – how about Boulder Popcorn?  And organic tea – try Tetulia Teas.

Having contributed to the very long list of potential artisan food producers that the Foodzie crew is testing (where "testing" means eating stuff and making sure it’s really good) I can assure you that there is a bunch of great stuff coming.

If you are an artisan food producer – or know one – and want to get connected with Foodzie, drop Emily an email.  If you love to eat, cruise the Foodzie site.  And – if you like food porn, take a look at the Foodzie blog.

I’m on a panel on Tuesday September 9th from 5pm – 8pm titled Early Stage Investing in an Uncertain Economy.  It’s being sponsored by the Rockies Venture Club and is being held at the Denver Marriott City Center.  If you are interested in attending, you can register here.

Since the Rockies Venture Club is largely targeted at angel investors and entrepreneurs it should be an interesting conversation.  The TechStars Demo and Investor Day two weeks ago was packed and the 2008 TechStars teams are seeing very high interest in their early stage rounds.  If this is a data point, it would indicate that the "uncertain economy" isn’t having much impact.

As an early stage VC investor, I don’t pay much attention to the macro economy.  I’ve written about this in the past – some of our best investments have come during crappy economic periods (say 2001 – 2003).  We are funding very early stage companies with an expectation that it will take them 5+ years to mature into a successful business.  Lots can happen in 5+ years.

I’ll save my snarkier remarks for the panel.

On today, this day of endless blogging / talking (and hopefully downloading) of Google Chrome, I thought I’d go retro and write about my renewed hunt for the 4GL.  But first, a little context on how this came about.

This summer I spent some time playing around with Google AppEngine to try and understand it better.  It didn’t take long before I realized I needed to really understand how to program in Python to do anything.  So I spent some time reading about Python and ultimately realized that if I wanted to make any progress, I needed to spend a chunk of time actually learning Python.  Fortunately, I found a nice MIT course titled 6.00.  I took the equivalent (6.001) in 1984 when it was taught using Scheme; now it uses Python.  Oh goody – I can re-live my 18-year old student self if I want.

As I started digging around in Python, I instinctively compared it to the languages we used at my first company, Feld Technologies.  We wrote business applications in the late 1980’s and early 1990’s and our language of choice was Clarion.  We also wrote one large system using DataFlex and one with Oracle7, did plenty of work with dBase and FoxPro, ultimately adopted Microsoft Access as our 4GL of choice, struggled through some stuff on the Mac with 4th Dimension, and explored doing things with PowerBuilder right at the time that we sold the company.  Some of these applications (including some of the larger ones) are still being used.

When I was playing with Google AppEngine, I kept waiting for the 4GL "aha moment."  That’s the moment I had using Clarion, DataFlex, Access, and even FoxPro where I realized how easy it was to do certain things.  That moment never came during my exploration of Google AppEngine – the deeper I got, the more confused I got.

My plan for Google AppEngine was to write a very simply application to help me manage my art collection.  I’ve searched long and hard for a web based application to do this – the closest I’ve come is a program called Yallery written by a local friend Jennifer Ross.  Yallery is very cool and does a lot of things that I’d want to do, but like most applications it misses on a handful of very specific things I want, while adding lots of things I don’t want.  So – when AppEngine came out, I thought writing a simple art collection management system (ACMS) would be a great way to solve two problems: (1) really learn how AppEngine works and (2) get my little ACMS up and running exactly the way I wanted.

Like all good software developers, I sketched out a quick design.  Like 99% of the software I’ve written in the past, the application is table driven – there is a simple data structure underlying all of the various screens that I’d want.  I’d use the app via a few different modalities which would be accessed through a simple menu.  The screens, menu, and underlying database describe 80% of the application; the final 20% is something any run of the mill report writer should be able to handle.

The optimal time to do this was when I was in Alaska in July.  I try to take on a few new things each summer "to learn" and this seemed like a perfect one.  I carved out some two hour chunks and went after it.  However, two days in and I was completely lost. It was clear that whatever construct I had in my head about what I needed to do didn’t map in any way to how I needed to do it in AppEngine.

Now, some of it may be me.  I stopped programming around the time that people were making the shift from procedural programming to object oriented programming.  C was the language of my day; not C++.  The idea of "Object Basic" or "Object Pascal" was amusing.  So – I’ve always struggled a little with object / method syntax.  Oh – and at my core there are two languages that have influenced me the most – Basic and Scheme – which probably explains all of my weird programming predilections.

But something just seemed wrong to me.  Clearly AppEngine wasn’t the right tool to build my ACMS in.  But, I didn’t really know what the right tool was.  I know what I want – something like Clarion that works in a web-browser world.  Something that provides all the magic Ajax UI goodies for me without me having to really do anything other than specify what I want the screens to look like.  Something that knows how to bind data fields to the screens and then to a table to a database and allow me to do all kinds of data entry, sorting, and reporting on them.  Something that completely isolates error handling for me so I don’t have to think about it.  As I worked through my list of "wants" I realized I was defining what a 4GL does.

I know that there are some companies working on this.  In an attempt to be trendy, this is now called PaaS (Platform-as-a-Service).  But it’s really the reincarnation of the 4GL.  And I’m not sure I really want a PaaS – I think I just want a 4GL that works with today’s web-based environment.