The “You Call This Journalism?” Department

The Inquirer isn’t normally this silly, and it isn’t even April 1. Nick Farrell writes:

Why Apple might regret the Ipad [sic]

THE IPAD HAS DOOMED Apple, according to market anlaysts [sic] that are expecting the tablet to spell trouble for its maker. … Rather than killing off the netbook, the Ipad [sic] is harming sales of the Ipod [sic] and Macbooks… if the analysts are right the Ipad [sic] has killed the Ipod [sic] Touch.

This is just silly, for four reasons. Three are obvious:

  • The iPod Touch fits in your pocket and can be easily with you all the time. Nothing bigger can ever kill it, but only replace it for a subset of users who don’t need in-pocket portability. (Besides, even if all iPod Touch buyers bought an iPad instead, the latter is more expensive and so the correct term would be not “kill” but “upsell”.)
  • The laptop has a real keyboard and full applications. Nothing not full-featured can ever kill it, but only replace it for a subset of users who don’t need the richer experience and applications.
  • Even if it was killing the other business outright, which it isn’t, it’s always better to eat your own lunch than wait for a competitor to do it.

And the fourth reason it’s silly? Let’s be very clear: The iPad has sold 1 million units in its first 28 days. At $500-700 a pop, that means the iPad is becoming a new billion-dollar business in two months.

Nick, I don’t think “regret” is the word you’re looking for.

Links I enjoyed this week: Flash and HTML5

These are the two best links I’ve read in the wake of the Flash and HTML5 brouhaha(s). They discuss other informative points too, but their biggest value lies in discussing three things, to which I’ll offer the answers that make the most sense to me:

  • What is the web, really? “The web” is the cross-linked content, regardless of what in-browser/PC-based/phone-based generator/viewer/app is used to produce it and/or consume it.
  • Does web == in-browser? No. Native apps can be web apps just as much so as in-browser ones, and increasingly many native apps are web apps. Conversely, not everything that runs in a browser is part of the web, even though most of them are for the obvious historical reasons.
  • Is it necessary/desirable/possible to make in-browser apps be like native apps? No, maybe, and maybe. The jury is still out, but at the moment developers are still trying while some pundits keep decrying.

Here are the two articles.

Understand the Web (Ben Ward)

This rambly piece needs serious editing, but is nevertheless very informative. Much of the debate about Flash and/or HTML5 conflates two things: the web, and application development platforms. They aren’t the same thing, and in fact are mostly orthogonal. From the article:

Think about that word; ‘web’. Think about why it was so named. It’s nothing to do with rich applications. Everything about web architecture; HTTP, HTML, CSS, is designed to serve and render content, but most importantly the web is formed where all of that content is linked together. That is what makes it amazing, and that is what defines it.

… [in the confused Flash and HTML5 debates] We’re talking about two very different things: The web of information and content, and a desire for a free, cross-platform Cocoa or .NET quality application framework that runs in the browsers people already use.

On a different note, speaking of the desire for super-rich in-browser apps, he adds:

Personally, aside from all of this almost ideological disagreement over what the web is for, and what you can reasonably expect it to be good at, I honestly think that ‘Desktop-class Web Applications’ are a fools folly. Java, Flash, AIR and QT demonstrate right now that cross-platform applications are always inferior to the functionality and operation of the native framework on a host platform. Steve Jobs is right in his comments that third-party frameworks are an obstacle to native functionality.

HTML5 and the Web (Tim Bray)

Again, what “the web” is – and it has nothing specifically to do with HTML. From the article:

The Web is a tripod, depending critically on three architectural principles:

  • Pieces of the Web, which we call Resources, are identified by short strings of characters called “URIs”.

  • Work is accomplished by exchanging messages, which comprise metadata and representations of Resources.

  • The representations are expressed in a number of well-defined data formats; you can count on the message data to tell you which one is in use. It is essential that some of the representation formats be capable of containing URIs. The “Web” in WWW is that composed by the universe of Resources linked by the URIs in their representations.

That’s all. You notice that there’s nothing there that depends crucially on any flavor of HTML. Speaking only for myself, an increasingly large proportion of my Web experience arrives in the form of feed entries and Twitter posts; not HTML at all, but 100% part of the Web.

On Flash · This may be a side-trip, but anyhow: I entirely loathe Flash but by any definition it’s part of the Web. It works just fine as a resource representation and it can contain URI hyperlinks.

Native Applications · A large proportion of the native applications on iPhone, and on Android, and on Windows, and on Mac, and on Linux, are Web applications. They depend in a fundamental way on being able to recognize and make intelligent use of hyperlinks and traverse the great big wonderful Web.

… So whatever you may think of native applications, please don’t try to pretend that they are (or are not) necessarily good citizens of the Web. Being native (or not) has nothing to do with it.

Good stuff.

C++ and Beyond 2010: Registration Now Open

I’m happy to report that registration is now open for C++ and Beyond 2010 with me, Scott Meyers, and Andrei Alexandrescu. The event will start on the evening of Sunday October 24 with a reception, to be followed by three solid breakfast-to-bedtime days full of structured and unstructured technical content and learning opportunities in what is designed to be a C++-and-more immersion retreat.

Over the past few days, Scott has written up three nice informational pieces on the C&B blog:

  • C++ and Beyond event structure: How it’s not a conference, runs from morning till late night daily for in-depth technical immersion, and more.
  • The venue for C&B: A description of the event location and surroundings, focusing on what makes it a perfect fit for our kind of up-close-and-personal event.
  • Registration is now open! Quoting most of today’s announcement:

Groups of 3 or more get 10% off, and individual or group registration during the Early Bird period (now until July 24) knocks another 10% off the price.  Attendance is limited to 60, so if you’re interested in being part of C&B, I suggest you register as soon as you can.

Click here to register.

We hope to see you atop Snoqualmie Falls in October!

I’m looking forward to this information-packed and not-boring-conference event, and spending time with many of you one-on-one.

“Readability”

If you like reading just about anything on the web, including my articles, in a pretty nicely rendered plain format with no ads or other distractions, you might want to try out arc90’s Readability.

All you do is drag a bookmarklet to your bookmark bar, and then on any article-like web page you can click on the bookmarklet to turn this:

image

into this (with a few choices each for font, size, and margin):

image

This lets you gain a lot in readability when all you want to do is read the article itself with basic text and graphics rendered fairly nicely. You do lose a little formatting, such as colored text which I sometimes use in my articles’ code examples, but the overall effect is pretty nice.

I’ll keep trying Readability out, especially on smaller-than-desktop screens, to see if it’s a keeper. So far the overall effect is pretty nice. Thanks to James P. Hogan for the tip, even if the link his page gives is broken.

 

Note: If you’re using Mobile Safari (i.e., iPhone or iPad) you’ll need to do a little bit more work because that software doesn’t currently support dragging the bookmarklet to its bookmark bar. Fortunately, there’s a workaround:

  • Find the Javascript code. I just made the bookmarklet on a desktop browser and copied the code from there to an email to myself (some things are faster with a keyboard and mouse). Alternatively you can inspect the HTML using HTML Viewer right on the same device as Mobile Safari and cut-and-paste from that.
  • In Mobile Safari, make a new bookmarklet.
  • Edit it, and paste the Javascript code as the URL.

As has been true since the early Mac days in the 1980s, Apple products and SDKs make every piece of functionality either super easy if it’s supported, or super painful if it’s not. :-)

Pre-emptive snarky comment: Yes, I know some people will retort that Microsoft and Linux products are better, because at least they consistently make everything super painful all of the time… but I think that’s only half true.

Links I enjoyed this week

C++ and C++0x

C++0x Core Language Features in VC10 [Visual C++ 2010] (MSDN)
This is the VC++ team’s overview, side by side with the previous release. Includes handy links to the C++ committee paper numbers.

See also Scott Meyers’ C++0x feature availability tracker for gcc and VC++, which is fairly up to date although it primarily represents the compiler versions and features that Scott has exercised personally, not necessarily the latest compiler or all features that are actually supported.

Other interesting stuff

Ars Technica Reviews the iPad (Ars Technica)
Here’s a good example why I often like Ars reviews better than those at other “gizmo” sites (you know who you are). Whereas lots of other sites climbed over each other to be the first to breathlessly post reviews based on using the iPad simulator rather than having real hardware in hand and actually using the device they’re reviewing, Ars waited until their reviewers could report based on actually using the device personally. What a refreshing idea!

Of course, to make it a no-brainer purchase for me, it still needs a stylus and OneNote.

Links I enjoyed, and iPad musings

Appetizers: Three cool links

The Design of Design by Fred Brooks (Amazon)
Yes, a new book by the Fred Brooks. Started reading it in Stanza on my iPhone today…

A Turing Machine (aturingmachine.com)
I’m in love. This is my favorite computer ever. I so want one.

The Evolution of Visual C++ in Visual Studio 2010 (VS Magazine)
A summary of what’s new in VC++ 2010, from the C++0x language and library features, to concurrency runtime and libraries, to faster and more accurate Intellisense (running the EDG engine), and more. All I can say is that VS 2010 is available imminently…

Entree: My favorite link this week

What the iPad Really Is (Michael Swaine, Dr. Dobb’s)
Swaine gets it. The iPad is a “read-mostly” and “anywhere” device.

That’s why Steve Jobs is correct that this segment between notebooks and phones exists, and that serving that segment expands the market rather than competing directly with either neighboring segment. The tablet, spelled with “i” or otherwise, mostly doesn’t compete with desktops and notebooks (except for users who only do read-mostly stuff) or smartphones (except for users who need a bigger screen); it complements both. I’ve been using Windows convertible tablets off and on for years for this part of my computing life.

For my tablet needs, the iPad as launched had only two disappointments. The killer piece of missing software was a OneNote equivalent, and the killer piece of missing hardware was a stylus – really, because I want to finally have a real paper-notebook replacement. My convertible tablet/notebook has these covered, but maybe if a dedicated tablet can match this part too it can take over the “tablet segment” for me and I can go back to a notebook that’s a dedicated notebook. We’ll see.

Incidentally, now with Netflix (if it’s not a 4/1 joke) and Hulu and Flickr and ABC joining the burgeoning flood, it looks more and more like “iPad, iPad everywhere”

Flash In the Pan

You’ve no doubt noticed the recent acceleration of the transition from Flash in favor of HTML5, thanks in large part to Apple’s refusal to support Flash on iPhone and iPad. First YouTube, and now TED, Vimeo, CBS, and Time and The New York Times are adding support for HTML5 in addition to, or instead of, Flash.

I’ve lately come to dislike Flash for personal reasons. Specifically, the Shockwave Player plugin is buggy and keeps hanging Chrome in particular and costing me a few minutes every few days while I wait for the “want to kill this plugin?” dialog to come up. It’s not the end of the world, just an annoyance. But it is annoying.

Aside: This seemed to start, or at least get a lot more frequent, around the time I installed Windows 7, which means we can have many interesting discussions about who broke whom. However, in searching around I see on Web forums there’s been a lot of chatter about Shockwave Player crashes on multiple browsers and OSes.

But given that the world is starting to move on anyway, and because I like to tinker, I wondered what “the Web without Flash” would look like on my PC. I already know what it looks like on my iPhone, but the PC gets heaver use and I generally use it to visit richer sites.

So yesterday I decided to take the plunge and uninstall Flash entirely. Flash used to be a de rigueur add-on. Now I’ll see what the Web is like without it.

So far, so good. My Machine Architecture talk on Google Video doesn’t play, but other than that the main difference is just that I see less distracting content and that I get a cute little bar at the top of many pages asking me to install a plugin to fully display the page; dismissing the bar only lasts for the duration of the page, but I find that the bar quickly fades into the background of consciousness.

We’ll see how long I can last sans Flash.

C++0x FCD launches, will be freely available online in about a week

This morning, the C++0x Final Committee Draft (FCD) text was completed by our tireless project editor Pete Becker, approved by the review committee of Steve Adamczyk and Howard Hinnant, and sent to SC22 for FCD ballot. The SC22 secretariat has informed us that the FCD ballot will begin today and close on July 26.

Thank you to everyone involved with the C++ committee for the huge amount of work they’ve invested over the past six months and more to resolve design corner cases, drive down issues list bug counts, and make it possible for us to approve several key papers and unanimously vote out an FCD two weeks ago in Pittsburgh. After two more weeks of hard work to apply the approved papers to the working draft, today the baby was ready to dress up in a cute ISO cover sheet and show to the world. As Joe Biden might say, this is a big deal.

The FCD document will be freely-as-in-beerly available on the committee’s 2010 papers page in about a week, when the post-meeting mailing goes up. Watch that space for details.

[Updated 3/26 to spell out “Final Committee Draft”]

Links I enjoyed reading this week

Software-related

PDF the Most Common Malware Vector (Schneier)
It’s almost non-news, because it’s been obvious for years that this was coming. Malware writers target the common programs and formats. Several years ago, I talked to senior developers from a major software company on multiple occasions about memory safety and secure coding, and at the time they weren’t interested because exploits didn’t affect them (yet). As an example, I pointed out: “Look, do you think software like Acrobat Reader needs to care about secure coding? – But of course it does. Isn’t it obvious that it’ll be targeted sooner rather than later?” Moral: If you write popular software, the need for secure coding affects you and your product; if it doesn’t today, it will tomorrow. (Obligatory note: This isn’t just about C and C++. Every mainstream language lets you write exploitable security flaws.)

Visual C++ Developer Survey (MSDN)
”As we wrap up Visual Studio 2010, we are starting to plan the next release of Visual C++. … We would like to better understand what you do.”

General information/amusement

Distributed Version Control is here to stay, baby (Joel on Software)
Evidently the last Joel on Software article, too.

The Hobbit to begin shooting in July (Variety)
Where can we buy fake foot hair for the premiere?