• Home
  • About the ramblings…

Ramblings of a Short Man

~ Written by Thai Bui, read by… um… millions

Ramblings of a Short Man

Category Archives: Software Development

A Brand New Startup’s Tech Stack

22 Thursday Sep 2011

Posted by Thai Bui in Software Development, Startups, Technology

≈ 5 Comments

Update: It’s been over a year, so I’m back to update the list of what we’re using…

Launching a startup is incredibly fun: everyday is dreaming, everything has infinite potential, and you get to leave behind all the baggage of the past. John Tokash and I recently enjoyed the party when we decided on what tech products/services to use. (Props to Nat Friedman for his list which gave me the idea to share our choices.)

We had some general, unstated criteria that guided us:

  • Community is incredibly important: In most cases, use what most other companies are using because you know it’ll be around, and there will be people out there to help you.
  • Be cheap, but not too cheap: We have to run a tight ship, but where it helps productivity, pay for it.
  • Lean towards what you know: We have to focus on the business, not on learning the tools.
  • Cloud, when you can: It might be cheaper to host things yourself, but we don’t want to be IT guys and we want to work on the fly from any computer.
  • Don’t waste too much time thinking about it: Just do it. Sometimes, you gotta just go.
And away we go:
  • Web framework: Ruby on Rails. This was a tough one. We argued long and hard about Ruby vs. Python, Rails vs. Django. Both communities are strong, and depending on who you ask, both argue that their community is stronger. Both have their technical trade-offs. I will be the first to admit that after learning some RoR, I’m incredibly disturbed by the “magic” in it (if you name this method in this way, magically this property will be attached to this other thing). But then one day, we just turned to each other and said: “Let’s just call it. Ruby. Done.”When it came down to it, there were three deciding factors: 1. we happened to know more people who know RoR; 2. we happened to start learning RoR first; 3. we didn’t want to talk about it anymore. C’mon, we have a company to build here.
  • IDE: Aptana RadRails.  John’s a big TextMate fan, so that’s what he was using, but I decided to take a tour around the options. MacVim: didn’t want to invest the time into learning all the key commands. Komodo Edit: had crashing problems. NetBeans: dropped official support for Rails and I couldn’t get the community Rails plugin to use a specific version of Rails. Aptana did it all cleanly, with autocomplete, decent project management, integrated terminal. We haven’t lived it with it very long, but it looks good so far. Update:  So we have a split jury here now. A few of us are on RubyMine, a few are on Sublime Text, and a few are on TextMate. RadRails died a quick death.
  • Source control: Github. Never really considered anything else. Cloud all the way, baby.
  • Database: Though we haven’t actually created any databases yet, I’d be surprised if we don’t do MySQL.
  • Hosting: Undecided. We haven’t really addressed this yet, though we’re considering Heroku and Rackspace, among others. We’re not IT guys, and we don’t want to be, so we’ll definitely be looking for a lot of support. I imagine that if we end up going with Heroku, we’ll move off with any reasonable success. We also know that Heroku uses PostgresQL, so given our leaning to MySQL, we’ll have to figure this out later. Update: AWS all the way! AWS is simply amazing (though it could be simpler to manage). Fortunately or unfortunately, we’re bought in hook line and sinker with EC2 with EBS, S3, RDS, Route 53, ElastiCache, pretty much everything. They make it, frankly, incredibly compelling.
  • Analytics: Google Analytics. We haven’t even started plugging this in yet, but this is clearly what we’re going to do until we run into problems. I have experience with Omniture and while it’s powerful, it’s very expensive and a bit of a pain to integrate. Maybe later.
  • Wireframing: Omnigraffle (Mac only). We tried Balsamiq first and we liked it quite a bit. I even liked the commune, hippy vibe of the company. Unfortunately, we actually outgrew it pretty quickly, even before the trial ran out. The biggest slam against Balsamiq for me was the rather sad collection of community widgets/stencils available. Omnigraffle kicks its behind in that area and in advanced features (layers are really nice to have).
  • Email, Calendar: Google Apps. We never considered anything else. Really, who wants to run Exchange anymore? The key reason is that a Gmail account has become the de facto standard email account for integration into devices and other services. I expect that we’ll end up using Google Sites for intranet, but we haven’t really run across that yet.
  • Documents Sharing: Dropbox. We considered Google Docs, and we’ve even used Google Docs to collaboratively edit documents, but at the end of the day, Dropbox is just so much easier. Update: With the release of Google Drive, we moved over. I love the seamless integration with Google Apps (which we use for tons of stuff) and that the fact that file storage only counts against the quota of the file owner. With Dropbox, every file hit everyone’s quota. Sucks. Like a Hoover.
  • Office suite: Microsoft Office. Yeah, that may seem obvious, but I really wanted to like OpenOffice or LibreOffice. I used them both, for a long time, and they kind of worked. Then, after some particularly frustrating lost formatting in their PPT knock-off, I downloaded the trial for MS Office and it was, frankly, beautiful and painless. Sorry, open source fans, it’s not even close.
  • Group Bookmarking: Diigo. We discovered early on that we were sending a lot of links to each other with posts, sites, companies that we want to share with each other. I really wish Del.icio.us had private group bookmark sharing; unfortunately, it doesn’t.  We’ve settled on Diigo, but the UI is too clunky for what I want it for.  Hopefully, something better will come soon; I’m not happy with this one yet. Update: We don’t use Diigo anymore. Just too clunky. I haven’t found anything better: we just end up emailing links back and forth. Then you have to search back through your email to find the link someone sent you. Not cool. Isn’t there a startup out there who wants to fix this?!
  • Project Management: Basecamp. We actually didn’t default to Basecamp; we went around and looked at many competitors, including ManyMoon (it has a Google Apps plugin), Apollo, and Trello. We ended up with Basecamp because it was fully featured for what we want, but wasn’t cluttered a lot of things we didn’t want (time tracking, proposal creation, etc.). After playing with Trello though, Basecamp’s UI feels dated. I’m thinking we could end up switching if something better comes along. Update: We went around and around and ended up with Planbox for sprint planning and Assembla for bugs. I then mandated that we use only one system for both and went over to Assembla. And you know what? Yup; we’re still unhappy. This sucks. Where is there a good combined sprint planning/bug tracking system? Help!
  • Messaging: Google Talk with Adium. Amazingly, we’re using an AOL product. But it practically doesn’t matter; we just happen to all have AIM accounts. I believe we’re all using Adium clients, but the protocol itself doesn’t matter. Definitely a case where it’s not worth even looking around for anything else.  Update: We switched over to use the Google Talk protocol with our Google Apps domain accounts, but still using Adium. Primary benefit: we can stay logged out of our other instant messaging accounts so we’re not pinged when we don’t want to be.
That’s it for now. I’ll keep this updated with the changes and other decisions we make. Of course, I’d love to hear if we’re missing out on something; a lot of these decisions were “path of least resistance” choices (as they frankly should be). But if we’re totally missing the boat on something, let me know!
Advertisement

Lean Startup in a Large Corporation

05 Wednesday May 2010

Posted by Thai Bui in Intuit, Software Development, Startups, Technology, Web 2.0 Expo

≈ Leave a comment

Tags

leanstartup, startup, w2e

I’ve seen Eric Ries speak before; Scott Cook brought him into Intuit to go over his Lean Startup message (http://www.startuplessonslearned.com/2010/05/lean-startup-intensive-is-tomorrow-at.html) that he’s been pushing around. It’s really good stuff and as someone who’s made all of the mistakes he talks about I highly recommend it.

In the keynote he gave at Web 2.0 Expo yesterday, he added something I don’t remember seeing the first time. He said the goal is to minimize the total time for one “pivot” cycle.

The important thing is the definition of a “pivot”. Paraphrasing and interpreting, a pivot here is a change in direction caused by something you’ve learned about your business, be it your market, product, customer, whatever. And there are three steps in the cycle: build (the product), measure (the result), and learn (the reasons behind the result).

This helps illustrate the problem I’ve experienced in a large company. Minimizing time through this loop requires cross functional thinking and objectives that is ubiquitous in startups but is disappointingly rare in larger corporations where employees tend to be over-specialized.

For instance, at Intuit, there is a lot of focus in the engineering community around faster build and launch cycles. It’s all about continuous deployment, unit testing, server virtualization, etc. All good stuff, but it’s all focused on pure product cycles and not business cycles. Tracking is an afterthought.

For many designers and engineers, there’s a mental milestone (and thus, relief) when the product/version/build launches. The real milestone for the business (and so it should be as well for all employees) is when we’ve learned what we need to learn and made the right business decision on the next step.

We’re getting better. Tracking and data are beginning to play a larger role, and business interests are creeping their way into product conversations (“No!!!”). The key for any org, large or small, in minimizing the time through the loop is focusing all employees on the higher level business objective and Eric’s framework is a great way to have that conversation.

The Commoditization of Technology

24 Wednesday Mar 2010

Posted by Thai Bui in Software Development, Startups, Technology, Uncategorized

≈ 4 Comments

Tags

business, marketing, Software Development, Technology

I’m a software engineer by training, somewhat by practice, and, in a sadly diminishing way, by mindset.  Maybe some of the real engineers around me can back me up on some of that. (Please?)

So it is with a heavy heart that I say that software technology has become a commodity.  Evidence is everywhere:

  • Increasingly, technical work is contracted out to third-party developers, sometimes offshore.  “Here’s a spec; how cheaply can you build it?”
  • Platforms are getting faster every day.  You can stand up a Rails site now orders of magnitude faster than what you could do just a few years ago.  Hell, you can configure a WordPress site to do almost anything you want orders of magnitude faster than a Rails site, for free.  Why stop there?  You can pick-and-click your way to a Ning site orders of magnitude faster than configuring a WordPress site.  (I know all those technologies/platforms don’t serve the same need, but you get the idea.)
  • Software technologist supply is increasing; i.e., there are more software developers now than ever.  The ease of building things is dropping the bar so low that a 17-year old kid can build Chatroulette in a few days.  Culture and technology is changing so that everyone can be, and is becoming, a technologist.
  • Costs of apps are dropping.  Mobile apps cost $0.99, not per use, not monthly, but once ever.  That’s because it takes a 17-year old a few days to build it.  If you make $500 on your app, you’re ecstatic.

There’s nothing terribly radical about this observation; I’m sure it’s out there everywhere.  It is very interesting to me, though, to take it to its logical conclusion.

Imagine if technology becomes so easy, so ubiquitous, so accessible that if you can imagine it, you can build it (or have it built) for nearly free.  I think we would all agree that that’s where we’re headed, amazingly quickly.  How would the software/internet industry change?

My take (thanks for asking) is you end up with something like the mass-market clothing industry (forget haute couture for this comparison).

Stick with me for a bit. Now, I won’t pretend to really know the clothing industry, but my naïve view is that it’s driven by designers and marketers.  The “builders” are outsourced to the cheapest suppliers possible such that if a designer can imagine it, they could have 20,000 units drop shipped to their warehouse in a week.  The success of a designer or a retailer or a brand is never about whether it can be built, or how efficiently it can be built, or how cheaply can it be built, but is only about whether enough people will buy it.

You can already say the exact same thing about the software industry, and I run into this all the time at Intuit.  An engineer or architect will have or hear about an idea and jump straight to the standard question: how are we going to build it?  They start thinking about data models, class structures, engineering processes, etc., stuff that I personally love arguing about.

But whenever I’m in these conversations I ask the same questions: what is the big unknown about whether or not this will be a successful idea? “Can it be built?” or “How efficiently can it be built?” is almost never the issue.  Put another way: if you ask the engineer/architect if they think it can be built, their answer is always “Of course”; if you ask them if people will actually use it/pay for it, the answer is typically “I don’t know”.  Voila, your big unknown.

I’ve rambled on for long enough, but I’d love to know what people think.  I actually have many, many more thoughts of what the software/internet world would be like with free technology, but strangely, they all have one common theme: we’re here already.

QuickBase opens up to developers

16 Wednesday Apr 2008

Posted by Thai Bui in Intuit, Software Development, Technology, Web 2.0

≈ 2 Comments

Tags

QuickBase

So I’ve been an Intuit employee now for a little over 3 months.  And I’ve met a ton of really passionate, intelligent people. It’s been quite a wild roller coaster ride and is the primary reason why I’ve been so negligent in my blogging.

TechCrunch picked up on QuickBase’s foray into being a developer platform and it’s great hit.  And here’s why:

If there was any hesitation about Homestead joining, it was because Intuit isn’t what you’d typically call an “Internet” company.  Our bread and butter is desktop software; when was the last time you saw TechCrunch or GigaOm write about QuickBooks?

But the QuickBase guys (I’ve met with several of them) are passionate about being on the leading edge of the Internet space.  They’ve never been on the desktop.  They’re pushing RIA and rapid development and open interfaces and all that the Internet is about these days.  You know, “Web 2.0”.  And at the core of it, they’re about providing value to users.

And the fact that TechCrunch picked it up is a great sign that Intuit’s moving in the right direction.

So congrats to the QuickBase team for a great hit!  And here’s to Intuit making more splashes in the blogosphere!

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Archives

  • April 2016
  • September 2014
  • December 2013
  • October 2013
  • July 2013
  • May 2013
  • November 2012
  • January 2012
  • October 2011
  • September 2011
  • August 2011
  • May 2010
  • March 2010
  • January 2010
  • April 2008
  • March 2008
  • January 2008
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • September 2006
  • July 2006
  • June 2006
  • March 2006
  • February 2006
  • January 2006

Categories

  • AJAX
  • Analytics
  • Blogging
  • Food
  • Gadgets
  • Homestead
  • Intuit
  • Mobile
  • Patents
  • Recruiting
  • SEO
  • Social Networking
  • Software Development
  • Spam
  • Startups
  • Technology
  • TV/Movies
  • Uncategorized
  • Web 2.0
  • Web 2.0 Expo

Meta

  • Register
  • Log in

Blog at WordPress.com.

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • Ramblings of a Short Man
    • Already have a WordPress.com account? Log in now.
    • Ramblings of a Short Man
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar