Limbo
I’ve recently left Yahoo! after 3 years there. I already miss hanging out with everyone, but it was clear to me that the best thing for me was to get out and find my own path.
I got to Yahoo! through the acquisition of Konfabulator (now Yahoo! Widgets). It was an interesting experience to say the least. I think I could write a small book on my time there. That might be the topic of a future post here. Suffice it to say, I don’t think it went as well as it could have.
But this post is about my current state of limbo. Not quite anywhere right now. It was definitely a little risky to just leave my job and take some time off. I’ve never had the opportunity do it before, and I have a few irons in the fire regarding what to do next, so I figured I’d give it a go. This way, I can really be free and clear to refocus myself and know what I really feel about what I want to do next.
So far it’s been a pretty good time off. I’ve mostly been working on my own iPhone application. I won’t say what it is yet. It’s nothing super-special, but it’s turning out pretty sweet. I know I will use it every day, maybe you will too. I have no idea if I’d even charge for it or not. If I did, maybe it’d be a buck or two. But that’s not even really in my head right now. I just want to finish it!
I’ve really been enjoying coding for the iPhone. Yes, even though it’s Objective-C
The only annoyances for me have been the bugs I keep running into. I’m a good boy though and I write them up for Apple. Heck, I even sent in a test case for one. Fortunately, most of them to date have been duplicates they know about. Hopefully they’ll get squared away soon.
As far as what to do next, I’ll keep meeting with people over the next few weeks and hopefully we can figure this out. While I am enjoying my time to myself, I certainly can’t keep this up indefinitely! Maybe I should be an Indie developer for iPhone/MacOS. Then I can stay home and survive.
Stay tuned.
YHOO and MSFT
Well, unless you were hiding under a rock yesterday, you saw the announcement that Microsoft offered a bid to acquire Yahoo! Inside the company there was a range of reactions, as you can imagine. But I’ll tell you my own perspective. There’s no inside dirt here, so if you’re looking for secrets, stop reading now.1
Not So Worthless Now, eh?
Yahoo! has always been a somewhat misunderstood company. And certainly a company that is very undervalued. That’s not to say that it does everything right. There are valid reasons some users don’t appreciate Yahoo! practices at times. But we do in general get a bum rap.
Clearly millions upon millions of people use Yahoo! services every day (and like them). If you consider the amount of traffic, users and the raw strength of the brand, our Thursday stock price of $19 was incredibly undervalued. So if nothing else, Microsoft’s fairly generous bid for Yahoo! proves that there actually is value to be had, and my guess is it’s northwards of the $31 per share number they threw at us. Clearly people liked the news since the stock jumped to $28.
At least now you’ll actually start to see articles and blogs pointing out the value that Yahoo! has instead of everything they hate about it. And there is a lot of value. But there’s also still a lot of fat (not just the 1000 people who are about to get layed off). I see people who I really don’t know why they’re still there or quite frankly what they do these days still walking around collecting salaries. It’s more than a little frustrating at times. But I digress…
So Should We Do It?
My feeling (and let’s face it, what the hell do I know) is that we might be stupid not to. In the end, I think it might be the right thing for both Yahoo! and Microsoft. If they could figure out a good way to structure things (keep Y! brand, properties, etc. ditch MSN and merge its technology into Y!), I believe it would be a smart move. I’m sure any agreement we enter into will be well thought out and argued about from top to bottom in lawyer-land (a place of unintelligible language, unthinkable evil and attaché cases). (Update: actually, here’s an interesting way it could be done)
But of course, from the other more emotional angle, it would be pretty sad to have to do it, right? I mean, it’s Microsoft. You know, with the mild-mannered Steve Ballmer. That makes me a little scared. To some of my coworkers, it makes them physically ill. But objectively it also has me a bit intrigued at the possibilities such a merger would unlock.
I look at it this way: this is about the 3rd (or more?) time that MS has tried to do some sort of deal with Yahoo! Each time, Yahoo! said no, we can fix ourselves. But we apparently can’t. I don’t feel the management team has focused Yahoo! enough and I also feel they took way too long to start trimming the fat (I wouldn’t have stopped at 1000). So maybe this is a blessing. I’m sure Microsoft thinks so.
Other Bidders?
I’ve heard about other bidders in the mix from various blogs, but I tend to agree with comments that these other bidders are a much more iffy scenario than a Microsoft deal. And Microsoft is going to be tenacious at this point. There’s no way they can hope to compete with Google without some big game-changer like this. The fact that the letter to the board went public was clearly intentionally done to create I think a reaction from shareholders to force Yahoo!’s hand or something. Also, if you saw that letter they sent out internally (if real), they act like it’s a done deal. Who knows, maybe it is. But I can’t believe that for a second, since there’s so much they’d need to talk about before saying yes.
A Kick in the Pants
But no matter what happens, we’re way more stronger and more valuable now than we were on Thursday. That, plus the potentially more positive press should put us in a much better position than we were. And that is a great thing.
And in Parting…
As you may have heard, Terry Semel left our board the other day. Apparently we paid him half a billion dollars to tank our company. I think it’s time for me to have a go at CEO. Hell, I can screw us up good for that kind of money!
- Speaking of secrets, the amount of stuff that happens at Yahoo! that gets broadcast to the outside is out of control. People, shut up!↩
Being One with the DOM
Over the past couple of weeks, I’ve been doing a lot of work with our Konfabulator DOM. In some ways, we are completely redoing it so we can use it as the basis for everything (finally). I have also been looking at better ways to expose it via JavaScript.
What I continuously learn is that I really didn’t know the DOM spec like I thought I did. There is a lot of subtlety in the language that isn’t quite clear until you finally live the life for yourself. Over the weekend I was trying to get some stuff straight in my head. After working through it and getting my head around how to organize things, I was reading the W3C spec and noticed that it had basically said what I had just realized all along. It’s not super-obvious unless you really know a DOM implementation inside and out and have had to understand the design out of necessity. It’s a bit akin to my experience in karate where you’ll have someone tell you things a million times and then once you do it a zillion times you finally get it and say “my god, they’ve been telling me this all along”. There’s so much about learning that’s about experience and not words.
But of course the good news is that our DOM is much cleaner now and can be used for more things. I still need to figure out if I want to switch to use an Interface idiom ala Mozilla. It would simplify some things, but complicate others. More to think about. If I do go with Interfaces, I’ll probably just rely on C++ and not go so far as to use something like xpcom internally. That seems a bit much. But if I do C++ for now, it should be relatively straightforward to switch later if for some reason a COM-like solution was needed.
By far the trickest part is going to end up being how we expose things via Javascript. I’m not happy with the amount of work we have to do to expose a class. Too much repetitive work. I guess if we did use xpcom it would be a lot simpler since xpconnect does all these things for you. But that is biting off way more than we can afford to chew right now. Phasing is critical to success long term. I do have a decent hybrid solution in mind that can bridge the gap from where we were and a completely generic solution such as xpconnect.
Once our new foundation is in place it’s going to make a huge difference in what we’re able to do and how quickly we can do it. A lot of doors are going to open up when I’m done. It’s going to be pretty cool. If only I could finish!
Badges of Honour
Yes, you can now put a badge on your website pointing to any Widget in the Yahoo! Widget Gallery by going to our Badgers page. You can point to any Widget you want, be it your own or your favorite. Badge away!
(I’ve badged the Flickr Widget over on the right as an example.)
Developer Day!
We’re offering the first ever Yahoo! Widgets Developer Day at our headquarters in Sunnyvale, CA. If you happen to be a Widget developer, we’d love to see you there.
You can get more information on the Widgets Blog.
Yahoo! Widgets 4 Released
We’re done with Yahoo! Widgets 4! Read all about it on our official Widget Blog. This release took a while to get done, but the team is ramped up substantially. We do still have three engineering reqs. to fill, so if you know someone who’s a wiz at doing framework-level development, send them our way. The next couple of releases are really going to change things.
Hey! That ain’t right!
Check out this picture. On the left, Konfabulator/Yahoo! Widgets. On the right, an Apollo sample. As you can see, they stole our images verbatim. Not cool.

I should point out that their Widget takes 26MB of RPRIV on Mac OS X, our Weather Widget takes 3MB. Booyah. Yeah, i know it’s alpha, but still.
Yahoo! Widgets 3.0 Released
Yes, finally. Yahoo! Widget Engine (nee Konfabulator) was just released today. It’s a huge step forward both in end user benefit and developer features.
For users, there are all new Widgets that connect to Yahoo! properties (Search, Maps, Flickr, Y! Photos, Notepad, 360) and some significant fixes, particularly for Outlook users who used PIM Overview (now called Day Planner). It also brings some performance improvements, particularly on Mac. We were encountering problems with Cocoa’s lack of support for overlapping sibling views. Apparently the answer in the past was to just draw everything all the time. But that wasn’t flying so well these days with more complex Widgets. So I changed it to bypass the Cocoa view system and just use the same basic view system we do on Windows. We tried to layer it at first but we got some weird overdrawing issues with rotated items. Turns out eliminating the Cocoa draw path sped us up considerably (very user-perceptable in some Widgets such as Atomic Timer).
For developers, there is a whole new set of features: a native XML parser, Level 1 DOM support , XPath, XMLHttpRequest, subviews, scroll bars, and much more. The interesting thing is that I still have a whiteboard full of things we still want to do for the future. We’re hardly done making this platform as powerful as we want it to be.
Anyway, I’m very glad this is now out the door as we can start concentrating on some of the features I’ve been dying to do for some time. Things that will really up the ante for what you can pull off in a Widget. But first I must rest and do my Christmas shopping!
Yahoo! Year End Party
Last Saturday, I had the interesting opportunity to go to not one but two holiday/year end parties. One for my wife’s company, and then topping off the night at the Yahoo! Year End Party. Because of the logistics of getting from one party to the other, we figured it was going to be tough to hook up with our friends there. We were late, and we got to the hotel (which we stayed at post party, but we needed to check in and shuttle over to the convention center), dropped our stuff off and proceeded to leave. When the elevator opened, all our friends were in the elevator. That was a Twilight Zone moment. I mean, what are the chances that would ever happen in a bazillion years. I think we all just sat there for a minute looking at each other while “Hey! I know you!” settled in. We could not have planned that better.
I have to say that the Yahoo! party was out of control. That was crazy. It reminded me of a party we had when we finally shipped Mac OS X. Apple rented out Hangar One at Moffet field and we had crazy buffets/drinks, etc. But this Yahoo! party was like that Apple party times ten. It’s the only party I’ve ever been to that’s actually been mentioned in the news. The entire theme of the party was the Louisiana Bayou. There was a casino with fake gambling, open bars EVERYWHERE (which is primarily where you could find us), and video games. Each bar/place was named after various places in New Orleans. The headline act was Earth, Wind & Fire, though there were other acts as well, in the main room and in the casino room. They would also take your portrait if you wished. I would say that in general it’s a bad idea to have your picture taken at the end of the night when the photographer is in a bad mood and you are a little (ok, perhaps more than a little) intoxicated. Not a pretty sight. I felt absolutely awful the next day and vowed to never repeat that again. But I have to say, in thinking back to the party, I’d do it all over again in a second. I think I’d make sure to drink more water, eat more food, and take more aspirin! When I think of all the mini-meatballs they had that I didn’t eat, I shed a tear.
All in all it was a great time!