What I like about startups (saambaa in particular)

Recently, I was contacted by an individual at a startup in LA about a possible job opportunity. I won’t mention the name but it was a company that sounded pretty exciting to me. I kindly responded that I was happy with where I’m at (saambaa) and thanked him for his kind complements regarding my work on github. He then asked what is it that makes me happy about where I work. I had never put it in writing before nor thought too hard about it so here it is:

Hi [recipient],

I think I just like startup culture in general. Being a startup means fast paced, flexible, dynamic, small (and big in lots of ways) and many constraints.

Small, as in a very small team. I can’t tell you the exact number of full time workers we have but believe me, its small and that means everyone matters. A sense of accomplishment, knowing where I stand in the big picture of our product is very refreshing and keeps me from burning out so quickly.

Constraints are also why I’m happy. Constraints with money and workforce, to name just a couple, forces us all to be particularly picky in prioritization and work on things that are only extremely important.

Flexibility in terns of when and where we work is key for me at my point in life right now. I’ve never seen the level of trust among the people I currently work with at any other company.

That’s just a few things. You can probably say these things about many startups in greater or lesser degrees but Saambaa happens to be a good fit right now.

iPhone Mail App’s Recipient Bubbles

new message screenshot

Notice how the recipient’s names are placed inside a bubble? Well, Apple wasn’t nice enough to provide this functionality out of the box. The three20 lib has a control that will provide this for you as part of the TTMessageController but good luck trying to get compatible up-to-date MonoTouch bindings for it.

So just do it  yourself! All you need is a class that inherits from UIView, let’s call it RecipientBubble. In that class you just need two subviews: a UILabel for the actual text that goes inside and a UIImageView for the background.

The only other thing you’ll need is the background image. How about this one? 

And now the code. Here’s the short version. For the more complete version see the gist on github.

public class RecipientBubble : UIView
{
  public const string IMAGES_PATH = "Content/Images";
  private static UIImage _backgroundImage;

  private UILabel _titleLabel;
  private UIImageView _backgroundView;

  static RecipientBubble()
  {
    _backgroundImage = UIImage.FromFile("recipientbackground.png").StretchableImage(11, 0);
  }

  public RecipientBubble(string title)
  {
    _titleLabel = new UILabel(new RectangleF(0, -100, 10, 23));
    _titleLabel.Font = UIFont.SystemFontOfSize(14);
    _titleLabel.TextAlignment = UITextAlignment.Center;
    _titleLabel.Text = title;
    _titleLabel.SizeToFit();
    _titleLabel.Frame = new RectangleF(0, 0, _titleLabel.Frame.Width + 20, 21);
    _titleLabel.TextColor = UIColor.White;
    _titleLabel.BackgroundColor = UIColor.Clear;
    AddSubview(_titleLabel);

    _backgroundView = new UIImageView(_backgroundImage);
    _backgroundView.Frame = new RectangleF(0, 0, _titleLabel.Frame.Width, 23);
    InsertSubviewBelow(_backgroundView, _titleLabel);

    SizeToFit();
  }
  ...
}

Your end result will look something like this.