Archive for March 28, 2014

Friday, March 28, 2014

Facebook’s Predicament

Dustin Curtis:

After an investigation into the problem by Facebook’s data team, they discovered that the new News Feed was performing too well. It was performing so well from a design standpoint that users no longer felt the need to browse areas outside of the News Feed as often, so they were spending less time on the site. Unfortunately, this change in user behavior led to fewer advertisement impressions, which led, ultimately, to less revenue.

Microsoft Office for iPad

I took the apps for a quick spin, and they are impressive, though I personally don’t have much need for them right now.

Ed Bott:

It took four years, but Microsoft has finally released full-featured Office apps for the iPad. As expected, the new Word, Excel, and PowerPoint apps are free to install but require an Office 365 subscription to unlock the full set of features.

[…]

Make no mistake about it: These three apps are feature-rich, powerful tools for creating and editing Office documents. They look and act like their Office 2013 counterparts on Windows. And although these iPad apps obviously can’t replicate every feature of the full desktop programs, they deliver an impressive subset of those features. Anyone who was expecting Office Lite or a rehash of the underwhelming Office for iPhone will be pleasantly surprised.

[…]

What’s fascinating about Office for the iPad is how it leapfrogs Microsoft’s Windows tablets. On Windows 8 and Windows RT devices, Office is still a desktop app with some grudging interface tweaks designed to ease the pain of using an app without a mouse. Anyone who owns a Surface RT is likely to look enviously at these iPad apps, which for now are the gold standard for Office on a modern tablet.

Mark Hachman:

Office for iPad represents the distilled Office experience, poured into an iOS glass. Quite frankly, I prefer it to working in Office on the desktop, if only because Microsoft organizes the most commonly-used functions so intuitively, using an icon-driven ribbon at the top of the screen.

[…]

I haven’t yet spent enough time with Office for iPad alongside the Apple iWork suite to definitively give one suite the edge over the other. My initial impression, however, is that you’ll prefer Word for iPad over Pages, with perhaps a slight edge to Excel over Numbers, as well. I’ve always been very impressed with Keynote, however, and I suspect that most iPad users will prefer to stick with it.

[…]

Working with text in Office for iPad should be intuitive to anyone who has used iOS: Tapping once on a word moves the cursor to that location; tapping twice creates the slider bars for highlighting a block of text. Pressing and releasing brings up a set of options to select or insert text. Holding down your finger brings up the zoom or spyglass icon. (Atalla said that Microsoft developed an elongated, widened zoom that highlighted a word. All I saw was the default circular view, however.)

The text selection and zooming do seem to be a bit different—and perhaps faster—than normal.

Kirk McElhearn:

If you’ve got a complex report that you’ve been working on in Word, and you want to access it on your iPad, you can either export that file in RTF format, or import it in Pages from the .doc file, but there’s a good chance that the formatting won’t match. If you use any kind of auto-numbering or fields, they won’t transfer at all, so you simply couldn’t use Pages to edit the document (though you may be able to view it).

Mark Crump:

New Microsoft CEO Satya Nadella could well have started his keynote yesterday with: “We have to let go of this notion that for Microsoft to win, Apple has to lose.” And with Office for iPad, Microsoft pitched a no-hitter. For those of you not as obsessed with baseball as I am, this is a good thing for Microsoft, Apple and us.

Jesper:

Ballmer and Gates think losing the platform war, no longer being the largest and the no-one-ever-got-fired-for choice means the end of the Microsoft as we know it, and they may be right. But it’s the also the beginning of the only Microsoft that can stop the bleeding and thrive.

Avi Greengart:

Apple’s refusal to put locally accessible file storage on iOS has opened the door for Microsoft to lock people to their cloud.

Ina Fried:

While one of the big holdups for Office for iPad was getting the software just right, another was Apple’s policy that apps that sell things — including subscriptions — use Apple’s in-app purchase mechanism and hand over 30 percent of that revenue to Apple.

Paul Thurrott:

I’ve been using Office for iPad since Monday on a loaner Apple iPad Air. The device itself is beautiful, thin and light, and iOS 7, while an improvement over previous versions, still lacks basic productivity features like the ability to run at least two apps side-by-side. So it’s important to understand that the biggest limitation of Office on this platform isn’t Office, it’s the iPad. You can only do—or at least see—one thing at a time.

Update (2014-03-29): Matthew Guay reports that opening large documents is much faster in Word than Pages.

Update (2014-04-01): Mark Hachman:

The first iteration of Microsoft’s Office for iPad lacks the ability to print, an unfortunate omission that Microsoft representatives intimated will be fixed in a forthcoming release.

Update (2014-04-07): Eric Wilfrid:

We made some bold moves in performance-tuning Office applications for iPad. We changed how Excel draws the contents of spreadsheets, because the old way wasn’t fast enough. We modified Word to render documents on a background thread, because the tried-and-true way didn’t allow the kind of scrolling performance iPad users expect. And there’s my favorite demo: insert a picture in any of the apps, grab the rotation handle, and enjoy the way the OfficeArt graphics engine was re-engineered to take full advantage of hardware acceleration in iOS. The monitor in the hallway outside my office has each day’s performance measurements on it. We’re still looking at performance every day, and we already have some ideas about how Office on your iPad can get even faster.

DateTools

Matthew York:

DateTools was written to streamline date and time handling in Objective-C. Classes and concepts from other languages served as an inspiration for DateTools, especially the DateTime structure and Time Period Library for .NET. Through these classes and others, DateTools removes the boilerplate required to access date components, handles more nuanced date comparisons, and serves as the foundation for entirely new concepts like Time Periods and their collections.

Warp, a Fast C and C++ Preprocessor

Andrei Alexandrescu interviews Walter Bright:

Conventional wisdom has it that preprocessing time is a negligible part of building a C++ binary. C++ is notoriously difficult to parse, which means that C++ parsers tend to be large and slow compared to their counterparts for other languages. Code generation is also quite the time sink, especially if you’re using optimizations. Finally, linking is a large serial step at the end of each build, and using the gold linker only helps so much. Therefore, it would seem that the lowly task of going through the included files and expanding macros would take a comparatively short time and be essentially impossible to improve upon.

Not so! Replacing gcc’s preprocessor with warp has led to significant improvements of our end-to-end build times (including linking). Depending on a variety of circumstances, we measured debug build speed improvements ranging from 10% all the way to 40%, all in complex projects with massive codebases and many dependencies. That’s not per-file speed, but rather global times measured for scenarios like “build after changing a header file.”

There sure are a lot of A-players at Facebook.

Apple/Google Hiring Lawsuit

Mark Ames:

Within weeks of Whitman’s call to Schmidt, eBay was placed on a Google list of “Sensitive” companies, for whom Google placed fewer restrictions on its recruiters except at the executive recruitment level. It was at this time that Google began to internally formalize its illegal wage-suppression pacts—and Schmidt was clearly worried about getting caught.

In early October, 2005, Google’s Senior VP for Human Resources, Shona Brown, emailed Schmidt a draft list of companies on their “Do Not Call” and “Sensitive” lists, and the policy protocols.

Mark Ames:

During a deposition last year, the plaintiff’s attorney for the Silicon Valley wage theft class action lawsuit asked Sergey Brin, Google’s co-founder, about this incident and others.

[…]

[Heimann]: But I’m gathering from your answer that you don’t really recall this at all.

[Brin]: No, sorry.

At this point in the deposition, Heimann shows Brin the March 9, 2007 email from Eric Schmidt to Steve Jobs, assuring Jobs that the Google recruiter Jobs complained about had been summarily fired, and that it won’t happen again.

Brin too was shocked at Jobs’ response. But possibly not for the reason you’d expect.

Mark Ames:

In late 2005, Jean-Marie Hullot, one of Apple’s (and Steve Jobs’) most valued longtime programmers going way back to Jobs’ NeXT Computer startup, resigned from Apple. Hullot worked for Apple out of Paris, and when he left the company at the end of 2005, his team of four engineers resigned with him.

A few months later, Hullot and his team of engineers negotiated a deal with Google to set up a new Google engineering center in Paris. The “last step”—as Hullot called it—was to get Jobs’ blessing.

[…]

In late May 2006, Google’s Alan Eustace formally cancelled the Google project in Paris. […]

Based on your strong preference that we not hire the ex-Apple engineers, Jean-Marie and I decided not to open a Google Paris engineering center. I appreciate your input into this decision, and your continued support of the Google/Apple partnership.

Twitter Adds Support for Multiple Photos Per Tweet

John Gruber:

Looks like these features aren’t coming to third-party clients, though, so they might as well not exist as far as I’m concerned. I won’t see them.

The Making of Threes

Asher Vollmer and Greg Wohlwend, developers of the excellent Threes (App Store):

It took awhile to climb this mountain, 14 months actually. So to “show our work”, we’re posting around 45,000 words that mark the trail we took. It’s not every text, skype call or even every email in our big 500+ email thread. But it’s the important stuff, and a lot of it was important to getting Threes out in the world.

Outlandish SQLite Recursive Query Examples

SQLite:

The following query computes an approximation of the Mandelbrot Set and outputs the result as ASCII-art.

[…]

This next query solves a Sudoku puzzle.

[…]

The final answer is found by looking for a string with ind==0. If the original sudoku problem did not have a unique solution, then the query will return all possible solutions. If the original problem was unsolvable, then no rows will be returned.

Floating Point

David Goldberg’s “What Every Computer Scientist Should Know About Floating-Point Arithmetic” (via Edge Cases):

Floating-point arithmetic is considered an esoteric subject by many people. This is rather surprising because floating-point is ubiquitous in computer systems. Almost every language has a floating-point datatype; computers from PCs to supercomputers have floating-point accelerators; most compilers will be called upon to compile floating-point algorithms from time to time; and virtually every operating system must respond to floating-point exceptions such as overflow. This paper presents a tutorial on those aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating-point standard, and concludes with numerous examples of how computer builders can better support floating-point.

William Kahan:

Those pioneers deserve our admiration because IEEE 754 is difficult to build. Its interlocking design requires every micro-operation to be performed in the right order or else it may have to be repeated. Maybe some implementations conformed only because their project managers had ordered their engineers to conform as a matter of policy and then found out too late that this standard was unlike those many standards whose minimal requirements are easy to meet. Anyway, a year before it was canonized, IEEE 754-1985 had become a de facto standard, the best kind.