the vengeful cow blog : http://vengefulcow.com/blog/articles.rss en-us 40 technically ridiculous Cut and paste on the BlackBerry Storm <p>From <a href="http://www.macworld.com/article/136977/2008/11/blackberry_storm_9500.html">Macworld's review of the BlackBerry Storm 9500</a>:</p> <blockquote> <p>And while we're on the subject of welcome features that users are clamoring for, let's not overlook (cue fanfare) cut-and-paste. BlackBerry has shown Apple how it's done, by using the same multi-touch technology used in the iPhone 3G. Here's how it works: you put one finger at the start of what you want to copy, and one finger at the end to highlight text; then press the Menu button to select 'cut' or 'copy'...RIM's solution doesn't work well enough for us because it is fiddly beyond belief ("using this would drive you mad," said one of our testers).</p> </blockquote> <p>I can't tell if the phrase, "BlackBerry has shown Apple how it's done", is sarcasm or not. It seems to be written in complete seriousness, yet I can't see how it could be. It is this kind of thing that demonstrates precisely why Apple has not yet implemented copy and paste in the iPhone. It's not that they don't know what it is, or don't recognize the need for it. It's that, if they're going to implement it, they need a <em>good</em> implementation to begin with, and they haven't got one worked out yet. All the BlackBerry has done is provide a reference implementation of how <em>not</em> to do it...and there are plenty of those already.</p> Thu, 20 Nov 2008 11:37:00 -0700 urn:uuid:7caa8388-1d3e-4b01-a38f-0cbe71ecc950 http://vengefulcow.com/blog/articles/2008/11/20/cut-and-paste-on-the-blackberry-storm#comments Smartphones http://vengefulcow.com/blog/trackbacks?article_id=cut-and-paste-on-the-blackberry-storm&day=20&month=11&year=2008 http://vengefulcow.com/blog/articles/2008/11/20/cut-and-paste-on-the-blackberry-storm CoverFlow in Mobile Safari <p>When I first heard, several months ago, that iPhone OS 2.0 supported hardware-accelerated <a href="http://webkit.org/specs/CSSVisualEffects/CSSTransforms.html">3D CSS transforms</a> in WebKit, my first thought was, "CoverFlow could be implemented in <em>Safari</em> with this!" In fact, I fully expected such an implementation to arrive within weeks. Well, months went by, and no one actually wrote such a thing that I could find, so a couple of weeks ago I decided that I ought to.</p> <p>Last weekend I actually sat down to write it, but first made one more cursory check to see if I'd missed anything. It turned out that, in the previous week, Charles Ying had posted <a href="http://www.satine.org/archives/2008/11/06/coverflow-for-safari-on-iphone/">his own work</a> on implementing CoverFlow using 3D CSS transforms, and had even set up a <a href="http://code.google.com/p/css-vfx/wiki/Introduction">CSS-VFX project</a> on Google Code for continuing work on it.</p> <p>The CSS-VFX example demonstrates touch events, <code>canvas</code> (for reflections), <a href="http://webkit.org/blog/138/css-animation/">CSS animation</a>, and rotating images in 3D space, using sample images from <a href="http://www.flickr.com/explore/interesting/7days/">Flickr</a>. It's well worth looking at if you're doing any work on iPhone-optimized web sites. And although 3D transforms are currently only available on iPhone OS, they will no doubt make it to WebKit on other platforms in the future, and perhaps even on other browser engines if the extensions make it into an official CSS spec someday.</p> <p>It's also worth noting that the WebKit team has already implemented a <code>-webkit-box-reflect</code> style in the nightlies, though it hasn't yet made it to iPhone OS. When it does, the <code>canvas</code> code won't even be necessary; the iPhone will be able to do hardware-accelerated reflections in CSS.</p> Sun, 16 Nov 2008 21:06:00 -0700 urn:uuid:834c3a1e-a170-48c3-a149-a3d6184092ad http://vengefulcow.com/blog/articles/2008/11/16/coverflow-in-mobile-safari#comments Computing Smartphones http://vengefulcow.com/blog/trackbacks?article_id=coverflow-in-mobile-safari&day=16&month=11&year=2008 http://vengefulcow.com/blog/articles/2008/11/16/coverflow-in-mobile-safari WWDC 2008 prediction results <p>I'm back from WWDC, and it was a great week. The sessions were interesting, I had lots of good discussions with friends, and as usual, a bit of sightseeing was worked in as well. The conference itself was <em>far</em> better than last year's blend of <a href="http://mjtsai.com/blog/2007/06/13/64-bit-carbon/">dropped Leopard features</a> and the "<a href="http://mjtsai.com/blog/2007/06/13/a-very-sweet-solution/">sweet</a>" "<a href="http://www.macworld.com/article/58396/2007/06/iphoneapps.html">Web 2.0</a>" "<a href="http://curmi.com/blog/2007/06/17/iphone-development-not-so-sweet/">app</a>" "<a href="http://blogs.zdnet.com/Burnette/?p=332">solution</a>" for the iPhone. This year, we got solid information on the <em>real</em> <a href="http://developer.apple.com/iphone/">iPhone SDK</a>, <a href="http://www.apple.com/macosx/snowleopard/">Snow Leopard</a>, and even some <a href="http://www.iphoneatlas.com/2008/03/07/iphone-os-20-will-include-bonjour-full-screen-safari-mode-more/">improvements</a> for web apps.</p> <p>For once the early buzz was fairly accurate, so my predictions for what was likely to appear turned out to be reasonably accurate as well. The things I thought would happen did, and the things I didn't expect (but nonetheless hoped for) were nowhere to be seen. And while there were a few small surprises, there weren't any really big shockers.</p> <p>That being said, here are the results, broken down in the same way the predictions were...</p> <p><strong>Virtually certain</strong></p> <p>These are things that were widely expected to happen, and it would have been extremely surprising and/or disappointing if they didn't.</p> <ul> <li><p><strong>3G iPhone</strong> -- <span style="color:#00C000"><b>Yes</b></span></p> <p>This was no surprise whatsoever. Steve Jobs had said it was coming, various carriers had said they'd have it, and there was really no doubt that it would show up at WWDC. As predicted, it features version 2.0 of the iPhone OS, it has an updated appearance, and the headphone jack is no longer recessed. Unfortunately, the camera doesn't appear to be improved in the slightest.</p></li> <li><p><strong>Rebranding of ".Mac" as "Mobile Me" (me.com)</strong> -- <span style="color:#00C000"><b>Yes</b></span></p> <p>Not only was the rebranding correctly predicted, but they are even advertising it as "<a href="http://www.apple.com/mobileme/">Exchange for the rest of us</a>", featuring push e-mail, contacts, and calendars. This will be wonderful not only for iPhone users, but also for those of us who are currently synchronizing contacts and calendars between work and home computers using the unreliable polling system in .Mac. The <a href="http://www.apple.com/mobileme/pricing/">pricing</a> still sucks, but at least it's cheaper than running one's own Exchange server.</p> <p>While MobileMe doesn't really offer a universal sync solution for third-party developers like I'd hoped, Apple did introduce a related feature for the iPhone that MobileMe almost certainly uses: a universal update notification system. Any application can register with Apple's servers and push notifications out to iPhone clients. The publisher is still responsible for hosting its own servers, and it doesn't solve the push-to-desktop scenario, but it does fill a gaping hole in iPhone application development, namely: how does one notify an iPhone user of new content (e.g. instant messages) if no background processes are allowed? With the notification service, a single process is used to receive notifications, and the user can then choose to open the app, which would then pull down the rest of the content. It's simple, it doesn't use lots of memory or slow down the device with lots of background processes, and it doesn't waste battery life.</p></li> </ul> <p><strong>Likely</strong></p> <p>These weren't necessarily sure things, but I was expecting them nonetheless.</p> <ul> <li><p><strong>GPS in iPhone</strong> -- <span style="color:#00C000"><b>Yes</b></span></p> <p>GPS is indeed <a href="http://www.apple.com/iphone/features/gps.html">present</a>, Google Maps uses it, the Camera app uses it for geotagging, and it's available for use by third parties as well. It even works in conjunction with the existing location technologies in the first-generation iPhone to get the data faster. Nice.</p></li> <li><p><strong>Preview of 10.6</strong> -- <span style="color:#00C000"><b>Yes</b></span></p> <p>Mac OS X v10.6 "Snow Leopard" was mentioned in the keynote, but it wasn't discussed in detail until the Mac OS X State of the Union. As expected, it's primarily an under-the-hood update intended to polish up existing operating system technologies and introduce some low-level performance enablers (e.g. Grand Central, OpenCL) for future development. There is one notable and welcome user-level feature, though: full support for Microsoft Exchange in Mail, iCal, and Address Book.</p> <p>The build provided to conference attendees <a href="http://www.macrumors.com/2008/06/11/mac-os-x-snow-leopard-drops-powerpc-support/">requires an Intel processor</a>, though it was not made clear whether the final release will. I'm guessing that Snow Leopard will indeed be Intel-only, and that Apple just isn't ready to state that on the record yet. Perhaps they're waiting to see how much of a backlash there is from the rumors. One aspect that Apple is advertising is that it "dramatically reduces the footprint of Mac OS X", and removing all PowerPC code would certainly be one way to do that.</p></li> </ul> <p><strong>Somewhat likely</strong></p> <p>There was conflicting evidence on these. I said I wouldn't be surprised if we didn't see them, but it's true that I'm just a little disappointed nonetheless.</p> <ul> <li><p><strong>Video chat in iPhone</strong> -- <span style="color:#C00000"><b>No</b></span></p> <p>Sadly, <a href="http://www.engadget.com/2008/06/07/loads-of-fake-apple-shots-hit-the-web-3g-iphone-pre-wwdc-editio/">Engadget was right</a>: no front-facing video camera, and in fact there's still no video recording support at all. Hopefully some enterprising third-party developer will fill this gap in functionality...maybe an official YouTube app?</p></li> <li><p><strong>Rebranding of "Mac OS X"</strong> -- <span style="color:#C00000"><b>No</b></span></p> <p>The posters turned out to be just a one-off thing for WWDC. The iPhone operating system continues to be referred to as "iPhone OS", and the Mac operating system continues to be referred to as "Mac OS X". Apple's even extending the meaningless "X" branding to QuickTime, where it's even less appropriate.</p></li> </ul> <p><strong>Potential surprises</strong></p> <p>As I mentioned above, there really weren't any major shockers. The "one more thing" was the 3G iPhone itself, which surprised no one.</p> <ul> <li><p><strong>Cocoa for Windows</strong> -- <span style="color:#C00000"><b>No</b></span></p> <p>AppleInsider posted a <a href="http://www.appleinsider.com/articles/08/06/16/apples_open_secret_sproutcore_is_cocoa_for_the_web.html">ridiculous article</a> today suggesting that <a href="http://www.sproutcore.com/">SproutCore</a> is somehow the "natural heir to the Yellow Box or Cocoa for Windows" and "people can't stop talking about it." Now, SproutCore looks like a fine JavaScript framework, but it's still just a JavaScript framework: it does not solve the problem of native desktop apps that need to run cross-platform any more than Safari solved the problem of native apps on the iPhone.</p> <p>I'm still curious to see if iTunes continues to be implemented the same way on Windows once it moves to Cocoa on Mac OS X.</p></li> <li><p><strong>OS X for non-Apple systems</strong> -- <span style="color:#C00000"><b>No</b></span></p> <p>It was highly unlikely, and it didn't happen. Again.</p></li> <li><p><strong>iPod Touch 8GB for all attendees</strong> -- <span style="color:#C00000"><b>No</b></span></p> <p>Nope. Apart from the expected beta of Snow Leopard, this year was pretty light on free stuff. The traditional laptop bags were decent (though I prefer my smaller bag for my MacBook Air), but in previous years Apple has been known to provide valuable software and/or hardware. Oh well.</p></li> </ul> Mon, 16 Jun 2008 18:43:00 -0600 urn:uuid:1b2735e6-475e-446e-81e3-f08f30ca7035 http://vengefulcow.com/blog/articles/2008/06/16/wwdc-2008-prediction-results#comments Musings Computing Smartphones http://vengefulcow.com/blog/trackbacks?article_id=wwdc-2008-prediction-results&day=16&month=06&year=2008 http://vengefulcow.com/blog/articles/2008/06/16/wwdc-2008-prediction-results WWDC 2008 predictions <p>There is almost always a surprise at <a href="http://www.macworldexpo.com/">Macworld</a> and <a href="http://developer.apple.com/wwdc/">WWDC</a> keynotes, and no one really knows going in just what's going to happen. There's no real point in trying to figure out ahead of time what sessions to attend at WWDC; the keynote frequently changes everything.</p> <p>John Siracusa has been making <a href="http://arstechnica.com/staff/fatbits.ars/2008/06/05/wwdc-2008-keynote-bingo">bingo cards</a> for the past couple of years, containing predictions what may or may not appear at the keynote. I never really played along, but I do have my own expections of what will happen. I'm usually wrong -- most spectacularly at Macworld 2007 (my list was similar to <a href="http://daringfireball.net/2007/01/macworld_expo_predictions">Gruber's</a>) -- but even then it's fun to look back later and compare what I predicted with what actually happened.</p> <p>So here they are, broken down by how confident I'm feeling.</p> <p><strong>Virtually certain</strong></p> <p>These are things that are widely expected, and it would be extremely surprising and/or disappointing if they <em>didn't</em> happen.</p> <ul> <li><p><strong>3G iPhone</strong></p> <p>This is pretty much a given. Everyone's expecting the next-generation iPhone, complete with version 2.0 of "<a href="http://flickr.com/photos/gernot/2554181096/">OS X iPhone</a>", to be announced and demonstrated on Monday. It's probably one of the worst-kept secrets in recent Apple history.</p> <p>The camera will probably be improved. The appearance will probably get an update. Maybe, if we're lucky, the headphone jack won't be recessed. As for other features...more on those below.</p></li> <li><p><strong>Rebranding of ".Mac" as "Mobile Me" (me.com)</strong></p> <p>Apple changed the hard-coded ".Mac" references to placeholders in a <a href="http://blog.codingrobots.com/2008/05/30/mac-re-branding-is-coming/">recent software update</a>, they've <a href="http://www.appleinsider.com/articles/06/01/11/apple_applies_for_mobile_me_trademark.html">registered a trademark</a> for "Mobile Me", the iPhone SDK <a href="http://blog.codingrobots.com/2008/05/30/mobile-me-is-the-new-name-of-mac-heres-the-confirmation/">contains constants</a> prefixed with "MOBILE_ME", and Apple appears to have recently <a href="http://daringfireball.net/2008/06/me">become the owner</a> of the "me.com" domain. It's pretty clear that .Mac is about to undergo some big changes.</p> <p>Now, exactly what those changes are isn't certain. My guess is that we'll see "Exchange for the rest of us" -- push e-mail, contacts, and calendars for the average consumer. I'm also thinking that Mobile Me will be positioned as the way for third-party apps to sync with desktop apps: add a transaction to your iPhone money-management app, it syncs to Mobile Me, and the transaction shows up in the desktop version of the app. iDisk support on the iPhone would solve the problem of getting documents to and from the iPhone for document-editing applications.</p> <p>I am hoping that Apple does not keep Mobile Me at the current price of its ".Mac" service. .Mac was overpriced when it was introduced, and the value has just gotten worse over time, with Google offering six times the mail storage for free, and other paid services like <a href="http://www.bluehost.com/">Bluehost</a> offering <em>unlimited</em> storage and bandwidth for 15% less than the cost of Apple's service. Ideally, Apple will provide a Mobile Me account for each iPhone at no additional cost, so that no one is left without a solid sync solution. I'm not counting on it, though.</p></li> </ul> <p><strong>Likely</strong></p> <p>These aren't necessarily a sure thing, but I'd be rather surprised if we didn't see them.</p> <ul> <li><p><strong>GPS in iPhone</strong></p> <p>When Core Location was announced, my first thought was, "well that's a good way to add GPS support without pre-announcing a GPS feature." Combined with the <a href="http://www.macrumors.com/2008/05/22/latest-iphone-2-0-beta-adds-geo-tagging-to-photos/">geotagging</a> support found in recent iPhone firmware betas, this one seems like a pretty safe bet.</p></li> <li><p><strong>Preview of 10.6</strong></p> <p>There really hadn't been any talk of 10.6 until just over a week ago, when it was discovered that the iPhone SDK contained a reference to 10.6. Then, several days later <a href="http://www.tuaw.com/2008/06/03/rumor-mac-os-x-10-6-to-debut-at-wwdc-08/">TUAW</a> claimed that it would appear at WWDC, and <a href="http://arstechnica.com/journals/apple.ars/2008/06/04/mac-os-x-10-6-code-named-snow-leopard-may-be-pure-cocoa">Ars</a> followed up with a claim that it would be called "Snow Leopard". It does seem likely that Apple would demonstrate the next Mac OS X version at WWDC -- it's been seven months since Leopard, after all, and I'm sure they're not sitting still -- and if the iPhone SDK already has support for it, that would seem to indicate that developers will soon be getting a copy.</p></li> </ul> <p><strong>Somewhat likely</strong></p> <p>The evidence is not clear for these. I wouldn't be surprised if we saw them, but I wouldn't be surprised if we didn't, either.</p> <ul> <li><p><strong>Video chat in iPhone</strong></p> <p>This particular feature has been rumored for some months, and it sure makes sense. 3G phones in other countries have had lower-resolution front-facing cameras for video for years, and since Apple already has a video chat solution on the desktop, connecting the iPhone to it seems like an obvious next step. Apple event has a <a href="http://www.macrumors.com/2008/06/04/3g-iphone-patent-application-surfaces-im-blogging-app-video-conferencing-mor/">patent on file</a> that includes "video conferencing" as part of the feature set for what looks to be a future iPhone. Nevertheless, this is a controversial rumor, largely due to <a href="http://www.engadget.com/2008/06/07/loads-of-fake-apple-shots-hit-the-web-3g-iphone-pre-wwdc-editio/">Engadget's insistence</a> that there will be no video conferencing, according to their "trusted source" and a supposed leaked firmware.</p> <p>While it's true that I wouldn't be surprised if the iPhone didn't end up with video chat, I'd still be disappointed. I have family members scattered across the United States, and iChat's video support is a major component in keeping us connected. I would love to have this capability everywhere.</p></li> <li><p><strong>Rebranding of "Mac OS X"</strong></p> <p>Ever since Steve Jobs announced that the iPhone was going to use "<a href="http://daringfireball.net/2007/01/os_x">OS X</a>", I've been expecting Apple to change the name of its operating system. The "Mac" product line is only one of at least three now that are running the same core operating system, tuned for each product type. I was thinking last year that they might even rebrand Leopard as "Apple OS 5" or something like that, dropping the virtually meaningless "10" from the name entirely, especially since the iPhone operating system has almost nothing in common with previous Mac OS incarnations.</p> <p>Well, Leopard kept the "Mac OS X" name last year, and when the iPhone SDK was released, Apple referred to the operating system as "<a href="http://en.wikipedia.org/wiki/IPhone_OS">iPhone OS</a>". Banners for WWDC <em>this</em> year, however suggest that a change may indeed be coming: the iPhone OS is now being advertised as "OS X iPhone", and the Mac OS is now being advertised as "OS X Leopard". It's the first time (that I know of) that Apple has ever officially advertised Mac OS X without the "Mac" in the name.</p> <p>Of course, it could just be a one-off thing for WWDC, highlighting the link between the two platforms for the sake of the conference.</p></li> </ul> <p><strong>Potential surprises</strong></p> <p>These are pure speculation. I do not expect them, but when thinking of possible "one more thing" surprises, they've come to mind as possibilities.</p> <ul> <li><p><strong>Cocoa for Windows</strong></p> <p>When Apple bought <a href="http://www.simson.net/ref/NeXT/">NeXT</a> and began the "<a href="http://en.wikipedia.org/wiki/Rhapsody_" title="operating_system">Rhapsody</a>" project, the <a href="http://en.wikipedia.org/wiki/OPENSTEP">OPENSTEP/Mach</a> operating system was already running on Intel, and the OPENSTEP frameworks (Foundation and Application Kit) were <a href="http://www.shawcomputing.net/resources/apple/os_pictures/yb2k/">already running</a> on Windows NT. Apple's original plan was to promote the OPENSTEP frameworks -- then called "Yellow Box" -- as <em>the</em> developer frameworks for the next-generation Macintosh operating system. Software developed using these frameworks could then run on the Rhapsody OS (both for PowerPC and Intel processors) and on Windows.</p> <p>Developers protested. Apple was barely alive, its user base was shrinking, and here Apple was asking Adobe and Microsoft to completely re-write their massive applications in some <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/">weird language</a>. Absolutely not.</p> <p>And so, ten years ago at WWDC 1998, Apple switched strategies. They killed the Intel version of Rhapsody. They killed the Windows NT port of Yellow Box. They renamed Rhapsody to "Mac OS X", ported the old Mac OS APIs to it as <a href="http://developer.apple.com/carbon/">Carbon</a> so that developers could keep their old code, and re-introduced Yellow Box as <a href="http://developer.apple.com/cocoa/">Cocoa</a> for "new applications".</p> <p>This saved Apple. It got Mac OS X released with the support of key software (e.g. Photoshop and Office) and it turned a previously frightening new platform into merely a larger-than-usual "upgrade". A small group of developers that had been excited about OPENSTEP for Windows were rather dismayed, but for the most part no one noticed the loss of the technologies that got the axe.</p> <p>Fast-forward to WWDC 2005. Steve Jobs announces on stage that "Mac OS X has been leading a secret double life" -- they've actually kept the Intel port alive all these years. We all assumed it was gone, we all assumed that Mac OS X would never come to Intel, but we were wrong.</p> <p>So now we're on the verge of WWDC 2008, the ten-year anniversary of the death of OPENSTEP for Windows. At least, we've assumed it was dead. What if Cocoa, too, has led a secret double life? What if, when Apple officially introduces Xcode 3.1 for developing iPhone apps, they also introduce it for Windows?</p> <p>It would make a lot of sense all around. Supporting Windows with Xcode means a lower barrier of entry for iPhone development, which means more iPhone developers, which means more iPhone software, which means more iPhone sales. It's good for Apple's own projects: they're clearly moving toward deprecating Carbon as a supported API, which means iTunes will need to become a Cocoa app, and it would be a whole lot easier to keep iTunes in sync on both Mac OS X and Windows if Cocoa were available on both. The same goes for Safari, which is currently Cocoa on Mac OS X and a custom UI on Windows. (And speaking of Safari, we know from its libraries that CoreFoundation and CoreGraphics are <a href="http://pages.brianledbetter.com/">already ported</a>, which underly Foundation and the graphics engine of AppKit.)</p> <p>The potential for this is particularly exciting for me, as I've long been dissatisfied with cross-platform user interface libraries. They generally feel right on Windows...and on the Mac they feel like skinned Windows apps. They don't support document-model dialogs (a.k.a. sheets), they don't support drawers, they don't support the "dirty" indicator in the window close widget...the list goes on. Having a framework that was built for Mac OS X -- with an existing history on Windows -- would be fantastic.</p> <p>Again, I don't <em>expect</em> this to happen...I just would love it if it did.</p></li> <li><p><strong>OS X for non-Apple systems</strong></p> <p>This one I consider <em>highly</em> unlikely, but the potential dropping of "Mac" from the name of OS X has led to some speculation that Apple may be considering opening up the operating system to other PC makers.</p> <p>It could happen. The iPod and iPhone have given Apple major new sources of revenue, and they're less linked with computers now than they've ever been (by their <a href="http://www.macworld.com/article/54770/2007/01/applename.html">own admission</a>). It's possible that they feel comfortable reducing their dependency on Mac hardware sales and moving into the standalone operating system space. With the widespread dissatisfaction with Vista, more people are looking for an alternative, and it could be an open door for getting people to try Mac OS X who might not have otherwise.</p> <p>If they were to actually do this, I'd expect that they'd work with OEMs to certify the OS for specific systems (which I believe Microsoft did with Windows Advanced Server; I'm not sure if they still do this). Part of the ease of use with Mac OS X is that it is largely free of driver issues, and I don't think Apple would want to give that up, at least not with machines sold from other manufacturers. I could see them potentially opening up the standalone Mac OS X edition to people who wanted to build their own PCs, and Apple simply wouldn't support it if it wasn't installed on a Mac.</p> <p>With other manufacturers providing the more traditional computer systems, Apple would probably drop the Mini, and perhaps even the Mac Pro, focusing on the models where they tend to innovate more (and that Steve Jobs has tended to favor over the years) -- the iMac and MacBook lines.</p> <p>I'd be pretty surprised if this happened though.</p></li> <li><p><strong>iPod Touch 8GB for all attendees</strong></p> <p>This is where we get into the "wishful thinking" category.</p> <p>Developers need a separate, development-only device for testing their software. Apple is already giving these away to college students buying a Mac. It seems like a good way to make sure every developer at WWDC has a testing device, thus removing another barrier for iPhone development.</p> <p>But yeah, that one's more about what I would like, rather than what would actually make sense.</p></li> </ul> Sat, 07 Jun 2008 23:41:00 -0600 urn:uuid:0299210b-b947-4c78-babc-62d695752e80 http://vengefulcow.com/blog/articles/2008/06/07/wwdc-2008-predictions#comments Musings Computing Smartphones http://vengefulcow.com/blog/trackbacks?article_id=wwdc-2008-predictions&day=07&month=06&year=2008 http://vengefulcow.com/blog/articles/2008/06/07/wwdc-2008-predictions Stability and security <p><a href="http://www.tuaw.com/2008/06/03/rumor-mac-os-x-10-6-to-debut-at-wwdc-08/">TUAW is saying</a> that <a href="http://developer.apple.com/wwdc/">WWDC</a> next week will bring a build of Mac OS X 10.6, which "will not include any new significant features from 10.5; instead, Apple is focusing solely on 'stability and security.'"</p> <p><a href="http://daringfireball.net/2008/06/snow_leopard">Daring Fireball</a> notes that the name for this release is rumored to be "Snow Leopard", and follows up with this comment:</p> <blockquote> <p>"If you’ve ever wished that Apple would spend more time focusing on making existing parts of the OS work better rather than adding new features, this is going to be the release for you."</p> </blockquote> <p>Count me in among those who have wished for something like this.</p> <p>I had hoped that 10.5 would be that release. 10.4 introduced a lot of great technology, but it felt unfinished: <a href="http://developer.apple.com/macosx/spotlight.html">Spotlight</a> and <a href="http://developer.apple.com/macosx/coredata.html">Core Data</a> were great first steps, but needed refinement, and things like <a href="http://developer.apple.com/releasenotes/GraphicsImaging/RN-ResolutionIndependentUI/">resolution independence</a> and hardware-accelerated "<a href="http://arstechnica.com/reviews/os/macosx-10-4.ars/14">Quartz 2D Extreme</a>" were developer-only previews. Windows file-sharing support (a.k.a. <a href="http://samba.anu.edu.au/cifs/docs/what-is-smb.html">SMB</a>) had been present in OS X since 10.1, but was never stable; even in 10.4, disconnecting from a network while an SMB share was mounted would usually result in a complete lock-up of the OS or even a kernel panic.</p> <p>At WWDC 2006, it looked like Leopard would indeed be the refined, polished version of Mac OS X 10.4. Spotlight would gain performance enhancements, network support, advanced queries, and more. Core Data would be faster. Resolution independence was a key feature, discussed in various sessions. SMB would become a first-class protocol on OS X. (I believe the sessions are still considered "confidential", so I'm wary about going into too much detail, though <a href="http://mac-guild.org/wwdc/wwdc06.html#Time%20Machine">this site</a> has some notes saying that Apple promised SMB support for Time Machine backups.) The fact that Leopard had been initially scheduled for "late 2006" and was now moved to "Spring 2007" simply suggested that they wanted to make sure it was a high-quality product.</p> <p>Things were looking good until Macworld 2007, when instead of revealing the "top secret" Leopard features, Steve Jobs spent the entire keynote on the Apple TV and iPhone, not even discussing Leopard at all. Then Leopard was delayed until October. Then WWDC 2007 came (with the infamous "sweet" iPhone developer solution of "Web 2.0 apps") and Apple started <em>dropping</em> features from Leopard. 64-bit Carbon suddenly disappeared. There was almost no talk of resolution independence anymore. Network support for Spotlight and Time Machine was a fraction of what had been promised. Hopes of ZFS as one of the "top secret" features were dashed. The first-class support for SMB was denied by engineers as even being discussed the previous year (despite their own slides to the contrary). It was clear that Leopard development wasn't going so well.</p> <p>The seeds of Leopard that appeared over the next several months were notable for their paucity. Infrequent, buggy, and sometimes introducing major changes, they were certainly not the rapid bug-fix releases expected of a beta program winding down. It was something of a surprise when Leopard actually did ship in October. At least, it was a surprise for someone hoping for a polished, refined operating system release.</p> <p>Mac OS X version 10.5.0 certainly was not the solid operating system release that I was looking for. It was rather like 10.4.0 all over again: lots of interesting technologies that weren't quite done yet. Resolution independence made progress, but still wasn't user-accessible. SMB disconnections no longer hung the system, but browsing Windows networks sometimes worked and sometimes didn't. Active Directory integration was improved, but only when binding actually worked to begin with. Stacks had originally sounded cool -- they were supposed to be a draggable unit created from a file selection -- but ended up being merely a pop-up icon view for docked folders that was actually <em>less</em> functional than the equivalent feature in Tiger (though this was much improved in 10.5.2).</p> <p>So the news that 10.6 "Snow Leopard" may finally focus on stability and security is very welcome. The system really needs a good cleaning and tune-up to make it a solid foundation for innovation in years to come. The only part of the current rumors that I'm hoping isn't true is the lack of PowerPC support. It doesn't seem right to deprive PowerPC owners of Leopard as it should have been to begin with. While this doesn't affect me personally, I do have friends with perfectly good iMac G5s that deserve a stable, secure Mac OS X as the final release for their systems.</p> <p>Once this spit-and-polish release is done, I can completely see Apple moving on with an Intel-only software platform, perhaps even under a different name. For over a year now, I've been expecting them to rebrand "Mac OS X" as "Apple OS" or something similar, since it's now used in more than just Macs. Post-10.6 would seem like a good time to do that, although it's looking like they might in fact be doing something along those lines already, with <a href="http://flickr.com/photos/gernot/2554181096/">early shots of the WWDC banners</a> advertising "OS X Leopard" and "OS X iPhone" -- notice the unified brand name and its lack of the word "Mac".</p> <p>However it works out, I'm very much looking forward to this year's WWDC, what with the 3G iPhone, possible 10.6 introduction, and probably other things we haven't even considered. I have high hopes for an exciting conference, especially after the disappointment of last year's, and it's looking good so far. Just a few more days!</p> Thu, 05 Jun 2008 16:48:00 -0600 urn:uuid:15a2d443-4ffe-4754-9aef-86c0e9917619 http://vengefulcow.com/blog/articles/2008/06/05/stability-and-security#comments Musings Computing Smartphones http://vengefulcow.com/blog/trackbacks?article_id=stability-and-security&day=05&month=06&year=2008 http://vengefulcow.com/blog/articles/2008/06/05/stability-and-security Fun With Title Case <p>A few days ago, John Gruber posted a <a href="http://daringfireball.net/2008/05/title_case">Perl script</a> that he uses for converting text to title case on the excellent <a href="http://daringfireball.net/">Daring Fireball</a> site. Shortly thereafter, Dan Benjamin of <a href="http://railsmachine.com/">RailsMachine</a> voiced my immediate thought: "<a href="http://hivelogic.com/articles/2008/05/title-case">We need this rewritten in Ruby</a>."</p> <p>Ruby includes a <code>capitalize</code> method for <code>String</code> objects, but it simply uppercases the first letter and then downcases everything else -- not helpful at all. Rails adds a <a href="http://api.rubyonrails.com/classes/ActiveSupport/CoreExtensions/String/Inflections.html#M000744"><code>titleize</code></a> method that gets a bit closer, but it's one of the "non-clever" functions that Gruber mentions: it doesn't downcase small words like "of", it incorrectly handles words with embedded caps (e.g. "iTunes"), and it mangles contractions and possessives (e.g. "can't", "AT&amp;T's"). Gruber's script, by contrast, works correctly with almost any input.</p> <p>Knowing that Ruby's text processing features are largely <a href="http://www.softpanorama.org/Scripting/ruby.shtml">influenced by Perl</a>, and seeing that the script in question wasn't actually that long, I figured I'd give it a try. It turned out to be quite a straightforward port; the biggest hurdle was learning enough Perl to determine what the script was doing (it's one of those languages that I was intending to learn for a long time, but I lost the will once I came across Ruby). And once I'd gotten that far, it wasn't too difficult to work out a JavaScript version as well. Gruber very helpfully provided a list of <a href="http://daringfireball.net/projects/titlecase/examples-edge-cases">edge cases</a> for testing, so it was easy to tell when the new code was working properly.</p> <p>With the Ruby and JavaScript versions finished, I probably should have stopped. But it was turning out to be a fun exercise, and I thought to myself, "what if I needed this in an iPhone app someday?" Well, that's more of a challenge. Gruber's script does all its work with <a href="http://en.wikipedia.org/wiki/Regular_expression">regular expressions</a>, and Cocoa does not have built-in regular expression support. Various people have come up with extensions to support them, such as <a href="http://regexkit.sourceforge.net/">RegexKit</a>, but those require additional libraries, and I kind of wanted to keep it self-contained. Plus I figured it would be more of an interesting problem to solve with just the built-in objects, since I'd already done two versions that depended on regular expressions.</p> <p>The result is an Objective-C category (<code>VCTitleCase</code>) that extends all <code>NSString</code> objects with a <code>titlecaseString</code> method to complement the existing <code>lowercaseString</code> and <code>uppercaseString</code> methods. It's implemented using <code>NSScanner</code>, and because it already has to parse out each word, it does almost everything in one pass rather than doing multiple find-and-replace steps.</p> <p>All three versions are available on the <a href="http://vengefulcow.com/titlecase/">Title Case Ports</a> page.</p> <p><em>Footnote: Of course, I was just one of many to respond to Benjamin's request: he later posted a list of <a href="http://hivelogic.com/articles/2008/05/title-case-for-ruby">11 responses</a>, with more in the comments. A couple of them took the next step and extended the Ruby <code>String</code> class to support title-casing. Unfortunately, quite a few seem to have missed the point -- or at least they didn't take the time to understand the problem. Many didn't properly handle contractions, small words at the end, or the special cases that Gruber's script took care of, such as "Q&amp;A". It's particularly disappointing given that 1) the original script wasn't that long, 2) Gruber spelled out exactly what "clever" things he was trying to accomplish, and 3) a set of edge cases was provided for testing.</em></p> Sat, 24 May 2008 21:54:00 -0600 urn:uuid:2ecad023-2934-49a8-9333-0368a2aec018 http://vengefulcow.com/blog/articles/2008/05/24/fun-with-title-case#comments Computing http://vengefulcow.com/blog/trackbacks?article_id=fun-with-title-case&day=24&month=05&year=2008 http://vengefulcow.com/blog/articles/2008/05/24/fun-with-title-case El Pollo Loco sucks <p>They discontinued the Grilled Fiesta Burrito. It was perhaps the best burrito ever made (at least from a fast-food place), and now it's gone. The rest of the burritos at El Pollo Loco are lousy...nowhere near the same league.</p> <p>It just depresses me to go there now. I've started steering people toward other options when they suggest it. Even thinking about it makes me sad.</p> <p>I suppose I should have seen it coming. It seems that if I'm a fan of something, it's doomed to be removed from the menu. The Queso Live at On The Border. The Monte Cocoa and Strawberry Limone at Olive Garden. The Chocolate Espresso Crème Brûlée at El Torito Grill. All gone.</p> <p>It's perhaps worse with the Grilled Fiesta Burrito, because El Pollo Loco was one of the southern California establishments I missed greatly after we moved to Idaho, solely because of that item. To finally come back to SoCal and find it missing was heartbreaking, in a things-that-shouldn't-bother-you-because-they're-so-trivial-yet-they-do-anyway kind of way.</p> <p>Goodbye, El Pollo Loco. You tossed aside the Grilled Fiesta Burrito as though it were a <a href="http://ozerik.homeip.net/pivot/entry.php?id=1114#comm">bag of moldy tangerines</a>, and I'm not your best friend anymore. So there.</p> <p>Now I'm just waiting for <a href="http://www.carlsjr.com/">Carl's Jr.</a> to discontinue the <a href="http://homepage.mac.com/elfstrandnet/Pictures/archive/redlands2003/pages/page_18.html">Western Bacon Cheeseburger</a>. (Although on a happy note, it seems that <a href="http://www.hardees.com/">Hardee's</a> will finally be getting all of the Carl's Jr. menu items <a href="http://www.topix.com/forum/com/ckr/THP4M32PG43HJABDI">this summer</a>, so I can finally respect its use of the happy star logo.)</p> Mon, 14 Apr 2008 13:49:00 -0600 urn:uuid:330d1b3a-2c97-47b1-a3ab-961dcf63f8c0 http://vengefulcow.com/blog/articles/2008/04/14/el-pollo-loco-sucks#comments Gallimaufry http://vengefulcow.com/blog/trackbacks?article_id=el-pollo-loco-sucks&day=14&month=04&year=2008 http://vengefulcow.com/blog/articles/2008/04/14/el-pollo-loco-sucks How not to install your product <p>Yesterday I had the misfortune of having to install Adobe Creative Suite 3 (Super Duper Web Ultimate Premium Extreme Edition...or something like that). It's not that I didn't want the products; it's that Adobe has crafted perhaps the worst out-of-the-box experience I have dealt with.</p> <p>I was going to write up a whole article detailing its failures, but it turns out that Adobe is inflicting the same horrible system upon users of Photoshop Elements as well, and Jens Alfke has posted an excellent write-up of it here:</p> <ul> <li><a href="http://mooseyard.com/Jens/2008/04/on-first-installing-adobes-photoshop-elements-6/">On First Installing Adobe's Photoshop Elements 6</a></li> </ul> <p>It doesn't cover some of the further annoyances, like how Adobe Help Viewer gets installed in /Applications even if you tell it to install somewhere else, and how multiple folders get created inside /Applications/Utilities even though you told it to install somewhere else, and how every single application in CS3 is put into a separate folder full of files like "JSBridge.bundle" and "libjflashgen.jnilib" (including apps you didn't know you were installing and couldn't turn off)...but some of those may be CS3-specific, I'm not sure.</p> <p>From the comments on that page, it appears that the installer is the product of Blue Flavor, whose <a href="http://www.blueflavor.com/pages/clients/case_studies/web_design_development/adobe_cs3_installer.php">PR page for the installer</a> goes on about how the installer is web standards compliant and AJAX-enabled.</p> <p>What the...?!</p> <p>It's a freaking <em>installer</em>! We're not talking about the latest Web 2.0 my-second-social-face app here. We're talking about a way of distributing software that already has a standard framework with a standard user experience on both Mac OS X and Windows.</p> <p>And this is what happens whenever developers try to take shortcuts when creating cross-platform applications: their product sucks on <em>all</em> platforms. It's generally worse for the Mac, whose users have higher expectations, but it's bad for both.</p> <p>This is why one of the best things I've heard recently is that <a href="http://blogs.adobe.com/jnack/2008/04/photoshop_lr_64.html">Adobe's going to have to rewrite Photoshop CS5 in Cocoa to get 64-bit support</a>. By dropping 64-bit support for Carbon, Apple has forced Adobe to finally update Photoshop to a modern codebase, instead of maintaining the lousy OS9-based UI it's been limping along with for years.</p> <p>This wouldn't necessarily give me as much hope (if anyone can screw up a Cocoa-based UI, it'll be Adobe) if I didn't keep hearing positive things about <a href="http://www.adobe.com/products/photoshoplightroom/">Lightroom</a>. It's Cocoa-based, and apparently it feels much more at home on Mac OS X than other Adobe products -- right down to the installer. I'm at least encouraged by the feature tour on Adobe's site: the dialogs actually use Aqua group boxes (the sunken style introduced in Panther), which, when compared with CS3, is a major accomplishment for Adobe. Hopefully the improved quality of Lightroom will become the norm rather than the exception.</p> <p>(And no, I'm not saying that Carbon cannot be used to produce great apps. It's just that virtually all of the apps that I've used that feel out-of-place on Mac OS X are from developers who are depending on Carbon to keep around old UI code written for a completely different operating system. The developers who really "get" Mac OS X are all using Cocoa. Plus Cocoa provides a base set of "free" functionality that, because it takes extra work, rarely shows up in Carbon apps.)</p> Thu, 03 Apr 2008 14:54:00 -0600 urn:uuid:f88c3c98-a8c4-469f-b8b4-274f9544ff49 http://vengefulcow.com/blog/articles/2008/04/03/how-not-to-install-your-product#comments Computing http://vengefulcow.com/blog/trackbacks?article_id=how-not-to-install-your-product&day=03&month=04&year=2008 http://vengefulcow.com/blog/articles/2008/04/03/how-not-to-install-your-product Alive <p>So BlueHost went and updated Rails to 2.0 <a href="http://www.bluehostforum.com/showthread.php?t=12380">without telling anyone</a>. This killed my blog until I upgraded to the latest version of <a href="http://www.typosphere.org/">Typo</a>, which was harder than it ought to have been because <a href="http://www.bluehost.com/">BlueHost</a> changed some other things around too (such as <a href="http://www.bluehostforum.com/showthread.php?p=51251#2">how FastCGI scripts are handled</a>) and added some misleading items to <a href="http://www.bluehostreview.org/bluehost-cpanel-demo/">cPanel</a> that give the impression that <a href="http://www.rubyonrails.org/">Rails</a> apps should now be run through <a href="http://mongrel.rubyforge.org/">Mongrel</a>. And Rails apps do, in fact, start up in Mongrel when started through cPanel, but the <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">rewrites</a> that cPanel says you need to do don't actually work, and the Mongrel process dies after several minutes anyway.</p> <p><em>Sigh.</em></p> <p>Anyway, it's back up now, and I've <a href="http://support.tigertech.net/freeze-rails">frozen Rails</a> so that hopefully (please oh please) it won't break again when BlueHost goes on a non-compatible update spree the next time.</p> <p>Hmm, maybe I should actually start posting things again now. Wouldn't that be crazy?</p> Sun, 30 Mar 2008 21:15:00 -0600 urn:uuid:7948f463-e765-4c1f-b841-40c78ccc1759 http://vengefulcow.com/blog/articles/2008/03/30/alive#comments Computing http://vengefulcow.com/blog/trackbacks?article_id=alive&day=30&month=03&year=2008 http://vengefulcow.com/blog/articles/2008/03/30/alive Jungle <p>The web is a jungle. Most smartphones are swiss army knives. The iPhone is a machete.</p> <p>I read yet another comment on a blog today that said something along the lines of: "I don't understand the iPhone craze. My phone can do so much more and I've had it on [insert carrier here] for a year."</p> <p>The iPhone -- and most Apple products for that matter -- is not about bullet points. It's about solving problems <em>well</em>. If you want bullet points, the Nokia N95 has a fantastic set. GPS, 5 megapixel camera, media controls, and so much more. Microsoft's also very much a bullet point kind of company. But bullet points don't tell the whole story. Consider:</p> <p><strong>McDonald's hamburger</strong></p> <ul> <li>Meat</li> <li>Buns</li> <li>Ketchup</li> <li>Mustard</li> <li>Onions</li> <li>Pickles</li> </ul> <p><strong>Outback steak</strong></p> <ul> <li>Meat</li> </ul> <p>Wow, that burger sure has a lot more features! But I know which one I'd rather eat.</p> Sun, 26 Aug 2007 13:50:00 -0600 urn:uuid:710f5ba8-0382-44b4-aa73-6a4aaef77745 http://vengefulcow.com/blog/articles/2007/08/26/jungle#comments Smartphones http://vengefulcow.com/blog/articles/2007/08/26/jungle