UIKit: A Fresh Start
Having (like zillions of others) just downloaded and started playing with the iPhone SDK this past week, I’m pretty impressed with UIKit. Being a frameworks/API guy myself, I can fully appreciate they way it’s put together. It’s very easy to do the simpler things and if you want to get down and dirty, you still can. I also really like the fact that it’s fully CG-based (no NSGraphicsContext nonsense), and the best part of all to me: top-left graphics origin! Yes, it’s the simple things in life.
I guess above all this demonstrates that by starting over, they’ve been able to take all the stuff they’ve learned over the past however many years of AppKit and were able to make a much more consistent and coherent set of APIs that demonstrate all those years of learning what works and what doesn’t. This makes UIKit a winner to me. Clean, concise. I’m soooo glad they started over. But of course, it was the right choice anyway considering the device constraints and just how different it is from a desktop environment. They certainly needed something smaller and more tuned to the iPhone. Good call.
The jury’s still out on Objective-C 2.0 for me, though. It has a lot of nice new features, but the syntax is still all wacky. The property syntax is a little heavy for my tastes. Almost too much control via the attributes. But at least you can finally use dot notation to get at your data. The thing is: I know I could come up with a way to annotate things and make the syntax more in line with other things out there (C#, etc.) while still preserving the great things about the runtime. I also still seriously wish you could get your constructors called if you put an object in as a member of an Obj-C class. That still seriously irks me. I’d love to hear the reason that can’t be made to work.
My nitpicking aside, I think there’s going to be a ton of iPhone apps coming out. And certainly all that use of Obj-C and their MVC model will likely help Apple get more traction for Mac OS X apps too. Once you’re in that door, the skills transfer so easily. I’m sure it wasn’t the primary intention of coming out with a phone, but it’s definitely a beautiful secondary effect.
Silverlight and Yahoo!
Wow. Someone just mentioned Silverlight in something I just read, and it got me thinking about how Microsoft would have a huge network to use it as a de facto standard if this MS/Yahoo! thing really pans out.
I have to say, after going to MIX last year, I was thoroughly impressed by Silverlight, to the point where I thought that Flash was in trouble if they can get some momentum going. Their tool set is very well done, and their ability to separate the design from the business logic to allow some parallelism is pretty amazing. In short, it’s one of the few MS technologies I think they’ve really gotten right. Of course, I haven’t used it personally, so take what I say with a grain of salt.
So if MS/Yahoo! happens, I could certainly see us starting to use Silverlight more and more. I’m not so sure that’s a bad thing.
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!↩
This is Just Plain Nuts
I shouldn’t give this guy more airtime than he deserves. But give this a read:
Apple iPhone Doomed To Failure
He tells you it’s doomed, but I never really see him explain exactly why. Because it’s Microsoft? I don’t think so. Wasn’t Vista supposed to take over the world? What happened there? I can’t tell you the number of meetings where directors or VPs would ask us “how are we going to deal with Vista?”. They did this because they believed the media, not to mention they just were kind of knee-jerk reactionaries. In the end, it wasn’t much of anything to worry about. Don’t get me wrong, I like Vista much better compared to XP, but it certainly didn’t have the impact Microsoft was hoping for.
It seems to me that while Microsoft is definitely getting better at their UI, they never quite match the level of quality that Apple puts out. Take a look at the Windows Mobile 7 info and mocks here It doesn’t look too bad actually, but some screens are still too cluttered. In general, with Microsoft designs, they look good at first, but they wear on you quickly. For whatever reason, Apple’s designs tend to stay attractive for a lot longer. And user interaction on Apple products is always consistently better as well.
Apple also has such a lasting effect on the markets it enters these days, and some it doesn’t. Remember when the iMac came out? So many copycat machines and designs were influenced by it. Not just computers, but everything: wastebaskets, etc. Everything starting coming in tons of colors. Then the iPod arrived which really took off when the store came into being (again, Apple was the first to even try selling music online) and now the iPhone. Already LG has to tout a touchsreen that looks remarkably like the iPhone. I’m sure they started on that the second Apple announced. The point though is that Apple changes the game with many of the things they do. For example, the iPhone has visual voice mail. The most amazing thing about that fact to me is that they managed to make AT&T budge. Wow. Meanwhile, the rest of the word is still pressing 7 to delete. Enjoy. 1
The point is, now that the iPhone is out, the bar is raised: people are now going to expect phones to be that cool and slick to use. Anything else is just kind of ordinary at this point. I bought and played with a Nokia N95 recently, and while it was feature-rich (some features put the iPhone to shame), it just wasn’t very pleasant to work with from a UI perspective. I just sold it on eBay because it just felt like a step backwards in ease-of-use.
While the first article I linked to sounds like an Apple-hater, I might be sounding like an Apple-lover. That might be partially true, but there are plenty of things I don’t like about the iPhone, or wish it had. It’s just that for my usage the positives far outweigh the negatives.
- Oh, and the visual interface that’s on the Treo 700w for voicemail is just graphics buttons for the touch tones. So you’re still pressing 7! ↩
Issues in 1.1.3 iPhone Update?
Since downloading 1.1.3 for my iPhone the second the servers came back on release day, my phone has been experiencing some oddness. In particular it really seems like there’s some sort of memory corruption issue going on. I say that because I’ve experienced the following in the past few days:
- The button to hang up a call was completely missing after one phone call. It was as if the image resource couldn’t be loaded.
- The Edge symbol was a solid white square once
- I tried to click the arrow next to someone’s name on the recent calls list and it wouldn’t respond. I then noticed that the lock icon was displayed at the top of my screen. I tried to lock and unlock the phone, but it was stuck for a while. Finally it came back.
- Today my phone rang but the screen was black. The home and top buttons did nothing.
This is certainly all odd behavior and it sounds like something might have broken. 1.1.2 was running fine for me.
I need to stop the complaining
Since my last eBay post, I’ve finally found an option which seems to stop most of the bad people from being able to bid on my items. Since then I’ve been able to sell 3 or 4 things without incident (including my camera). I’ve also noticed they’ve created a new streamlined version of their seller form, which is a welcome addition. Of course, I still needed to use the older form so I could make sure those options I just mentioned were set. The issue with simpler interfaces is you never know what the default settings are going to be.
But in general, I’ve looked back at my blog and found a few posts of me just complaining about whatever corporate entity was ticking me off at the moment. I’m going to stop that (even though they are bastards :-P) and start just posting normal, hopefully helpful blog entries. I’ve always said I’d like to post simple code snippets and helpful factoids like that. Time to start. Um, soon.
eBay May Collapse Under Its Own Weight
I recently tried to sell a camera on eBay. Twice.
Both times it was removed after it closed. Both times I received an email that stated:
The results of the following listing(s) have been cancelled due to bidding activity that took place without the account owner’s authorization:
OK, I get that. Someone got phished and that means the winning bid was invalid, not to mention outlandish (in this case, over 2x the value of the camera). But they pull the entire listing and if you try to go to it, it’s ‘invalid’. At the very least, I should be able to see my own listing after the fact so I could at least try selling the item to one of the other legitimate buyers. But nope. Instead now that item doesn’t come up which has the added side-effect of making me look bad, when in fact I did nothing wrong except try to sell my camera. (more…)
Confessions of a Carbon Guy
Recently, I started thinking about writing some small application on Mac OS X. The app will never probably be written, but it did get me thinking about how I would write it these days. I figured if I were really writing something from scratch, I should probably do it in Cocoa. Being Mr. Carbon, this was quite a conceit. And if I was going to write it in Cocoa, I should really probably learn what makes Cocoa tick so I could write an app “the right way”. So I got a new book (my old one was way out of date) and started reading and messing around. (more…)
Could CoreGraphics Be Wrong?
I’ve always held CoreGraphics (Quartz) on Mac OS X in the highest regard. It’s an excellent drawing API. But a while back when I did the canvas implementation for Konfabulator, I noticed what I believe to be an error in their compositing modes. This, along with gdiplus lacking some necessary features, forced me to move to Cairo for our Canvas object.
The bottom line is that if you compare the CG compositing modes (currently only exposed via Safari’s canvas) with those of Cairo you’ll notice some differences. Compare this link on Safari and then on Firefox. There is a known issue with Cairo’s ‘darken’ mode. Ignore that one for now.
Instead, let’s focus on one in particular: destination-atop.

Note that on Safari it yields the same result as destination-over. As far as I can tell, this is wrong. When the circle is drawn, all pixels outside of the circles influence should be cleared. This is what cairo does. Otherwise, what’s the point of the different mode?
This all tells me that Quartz is wrong, which to be honest shocks the hell out of me. If I’m wrong, please let me know and link me to some corroborating evidence.
iPhone Outlook Sync: Take II
So after my phone stopped syncing with Outlook again, I realized the trigger might have been my re-import of my old tasks. So I’ve redone what I said in my last post and just manually entered the tasks I had. So far, things are behaving. The true test will be one full week of meetings changing, etc.
Update: So far, so good! Things are now syncing fine. I think it was my tasks, but what might also be helping now is iTunes 7.3.2, which I believe has a new sync services bundle. It must, since if I reset my sync history now, the sync service no longer crashes.