April 3rd, 2008
Firefox 3 beta 5: How many connections is too many?
I woke up this morning to an auto-update message from Firefox saying that beta 5 was available. Aside from some polish and a few bug fixes, beta 5 does have one big change over the last version: by default it will now keep three times as many connections to the server open at once. This change is somewhat controversial so let’s look at it in a bit more depth.
When you open a web page that has many different objects on it, like images, Javascript files, frames, data feeds, and so forth, the browser tries to download several of them at once to get better performance. The effect is dramatic for the user, but hard on web servers.
Most HTTP servers and browsers use a protocol called “keep-alive” that doesn’t close the connection when the client is done with it. This makes sense; opening a remote connection is expensive so it’s much faster to open one and download 20 small items than to open and close a connection 20 times. Unfortunately the server can’t tell exactly when the client is done, so all these connections are kept alive and consume resources on the server for some time.
April 1st, 2008
Google’s blast from the past
Google has launched a new feature called “Custom Time” that lets you manipulate the headers on your email so it appears to have been sent in the past. The email will show up in the proper chronological order in your recipients inbox, and you can even have it marked as if they had already read it. One beta tester writes:
I just got two tickets to Radiohead by being the ‘first’ to respond to a co-worker’s ‘first-come, first-serve’ email. Someone else had already won them, but I told everyone to check their inboxes again.
Other possible uses include generating evidence for “Judge Judy”, and sending un-belated birthday greetings.
In other news, Google and Virgin announced a new project called “Virgle” to build a permanent human settlement on Mars. Read the rest of this entry »
March 27th, 2008
Mozilla blasts Acid3 as Safari and Opera grab the brass ring
Ask Mozilla co-founder Mike Shaver what he thinks about Ian Hixie’s Acid3 test and he’ll give you an ear full. On his blog today Shaver defended the Mozilla Firefox team as they watched both Opera and Safari/WebKit apparently achieve a 100% pass rate Wednesday.
Ian’s Acid 3, unlike its predecessors, is not about establishing a baseline of useful web capabilities. It’s quite explicitly about making browser developers jump — Ian specifically sought out tests that were broken in WebKit, Opera, and Gecko, perhaps out of a twisted attempt at fairness.
A review of Hixie’s criteria, however, shows that tests were required to not crash current browser versions and be justifiable using only web standards.
Shaver also takes issue with Acid3’s use of only older well-established standards. “I think that such a test,” he writes, “should be built on more long-term criteria than lining up the starting blocks for a developer sprint.” Acid3 doesn’t test the areas that are hard to work around, says Shaver. “If Hixie could stomach digging around in the SVG specification I wish he’d spent his time on things like filters or even colour profiles.”
Mozilla developer Rob Sayre concurred, calling Acid3 “worthless” and WebKit’s efforts to pass “shameful”:
I was looking over the spreadsheet covering Mozilla’s Acid3 failures, and it struck me that very few of the fixes would substantially improve the Web or the browser. They are bugs and they will be fixed (except maybe SMIL… wtf?), but they don’t impact authors or users at all. Looks mostly like an opportunity for grandstanding about “commitment to standards.” I think testing createNodeIterator while text nodes don’t interoperate is both misguided and hypocritical. Besides, commitment to standards is strong at Mozilla, where we don’t constantly seek to rubber stamp our own implementation.
Acid3 could have had a positive effect on the web, says Shaver, but instead it has turned into a game. Microsoft and Adobe must be “chuckling about the hundreds of developer-hours” that have gone into fixing special cases no one cares about, he says. “It could have been a lot more.”
Ed’s analysis
It’s unfortunate that Mozilla is has adopted such a sour-grapes position on Acid3. One wonders how the message would have been different had Firefox been the first to pass. I’m reminded of Microsoft’s comments on Acid2. Remember back in 2006 when Microsoft’s All Billings wrote:
We’ve written about the Acid2 test before. It is not a compliance test but is, instead, a wish list. We’ve been clear that we were not going to pass this test since we were first asked about this. The author of the test is well aware of this.
And yet in 2007 they were all too proud in announcing that IE8 had passed Acid2. Calling it “a milestone”, Dean Hachamovitch gushed:
I’m delighted to tell you that on Wednesday, December 12, Internet Explorer correctly rendered the Acid2 page in IE8 standards mode. While supporting the features tested in Acid2 is important for many reasons, it is just one of several milestones for the interoperability, standards compliance, and backwards compatibility that we’re committed to for this release.
Presumably, we’ll be treated to a similarly “delighted” announcement from Mozilla when Firefox gets around to passing Acid3.
March 26th, 2008
Opera aces Acid3 (updated)
The Opera browser today became the first browser to pass the Acid3 test. On the Opera desktop team blog, Lars Erik Bolstad writes:
I have a quick update on where we are with Acid3. Since the test was officially announced recently, our Core developers have been hard at work fixing bugs and adding the missing standards support. Today we reached a 100% pass rate for the first time! There are some remaining issues yet to be fixed, but we hope to have those sorted out shortly.

Bolstad continues:
We will release a technical preview version on labs.opera.com within the next week or so. For now, the screenshot above shows the Acid3 test as rendered in our latest WinGogi Desktop build. WinGogi is the Windows version of our reference builds used for the internal testing of Opera’s platform independent Core.
So there you have it. 23 days after the test was released, Opera is the first to cross the finish line, at least in an internal build. The rest of us will have to wait a few days before we can verify the results, but this is exciting. Now it’s a race between Mozilla Firefox, Apple Safari, and Microsoft IE to see who will come in second. Place yer bets…
Update: That didn’t take long. At almost the same time as the Opera announcement, the Safari Webkit team announced that they had also passed the test. Unlike Opera, the version that passed is available for immediate download.
March 25th, 2008
Microsoft, Apple, and the death of the desktop
In his article titled “Dear desktop, welcome back“, Ryan Stewart claims that “the desktop is exciting again in a number of interesting ways.” Unfortunately (for Microsoft, Apple, and others with a vested interest in the desktop), most of his points actually lead me to the opposite conclusion. For example, Ryan writes:
This dustup between Safari and Mozilla? It’s over a desktop application! Why? Because the desktop is important. It’s the most valuable place. From there you can control the search path, you can control the experience and you can keep rolling out updates. It’s easy to leave a webpage and never come back. But uninstalling a desktop application? A browser? That’s harder.
Installing and uninstalling and maintaining anything on the desktop (be it Windows or Mac or Linux) is hard, and more and more people won’t bother. Why? Because there’s a better alternative. Another way of saying this is, the browser is the new desktop.
Case in point: My wife has been complaining lately that her “computer was slow”. She’s running Windows XP on a Dell machine, so first I checked out the usual suspects. Viruses? Nope. Spyware? None found. Crapware? Already gone, from the day after we got the machine. Startup programs?The browser is the new desktop. Removed a few but it didn’t help. I started the task manager, but saw nothing suspicious. No processes using CPU or disk I/O. But still, she said it was slow.
So I watched what she was doing. She brought up the browser to check web-based mail on gmail.com. She used google.com to search for something for our kid’s classwork. She went to cartoonnetwork.com and webkins.com to play games with the kids. And so forth. Notice a pattern here? Everything was in the browser. It was the *browser* that was slow, not the computer. In her mind, the browser was the computer.
The problem turned out to be too many plug-ins in the browser. She had a Upromise plug-in, a Google toolbar plug-in, a Real media plug-in, and a bunch of other plug-ins I didn’t even recognize. I turned it all off, restarted the browser, and poof, “the computer” was several times faster. Cue fanfare.
My point is that even with the technical limitations under the covers–things like browser incompatibilities, offline storage, JavaScript memory leaks, etc. (all those things that developers pull their hair out about)–the convenience of internet-delivered applications is just so compelling that all other issues are falling by the wayside. In the span of a few years, we’ve witnessed a major paradigm shift in the way computing is surfaced to users.
Sure, there will always be some niche applications that need an old-fashioned desktop. Right now, those include 3D interactive games, graphic design tools, software development tools, and some office productivity tools. As web technology gets more and more powerful, though, expect those to slip more and more into obscurity as internetworked alternatives replace them.
We’ve already passed the tipping point, Ryan. We’re not welcoming the desktop back; we’re saying our goodbyes.
March 18th, 2008
BlackBerry embraces Eclipse
Research In Motion (RIM) has joined the Eclipse Foundation and released a BlackBerry plug-in for Eclipse that provides the ability to develop and debug BlackBerry applications without leaving the familiar Eclipse environment. The announcement came Tuesday at the EclipseCon 2008 conference in Santa Clara, CA.
Until now, RIM’s development tool of choice has been a somewhat clunky home-grown IDE. When I tried my hand at BlackBerry programming a couple of years ago, that was my biggest complaint about the platform. But now, applications for BlackBerry, Android, Symbian, Palm, and iPhone (web) can all be created in the Eclipse environment. The only one missing is Windows Mobile.

Early versions of the BlackBerry were programmed in C, similar to Nokia’s Symbian platform. Eventually RIM moved to an all-Java system that was based on J2ME with BlackBerry-specific extensions. This allows them to change the underlying architecture on the phones without having to recompile any existing applications. A similar strategy is used in Google’s Android.
A beta version of the BlackBerry Eclipse plug-in is available for immediate download.
March 18th, 2008
iDenied: Apple shuns iPhone developers, for now
When Apple said they were limiting the number of developers in the iPhone Developer Program during the beta period, they weren’t kidding. Thousands of “non-acceptance” letters have gone out to developers ready to shell out $99 (or more) for the right to put their applications on the device. In fact we were hard pressed to find more than a handful of developers who were not rejected.
In the email, Apple wrote:
Dear Registered iPhone Developer,
Thank you for expressing interest in the iPhone Developer Program. We have received your enrollment request. As this time, the iPhone Developer Program is available to a limited number of developers and we plan to expand during the beta period. We will contact you again regarding your enrollment status at the appropriate time. Thank you for applying.
Best regards, iPhone Developer Program
Documentation and a software developer’s kit (complete with emulator) are available for free from the iPhone developer web site. But in order to try your program on a real phone or make it available for sale in the App Store you have to be a registered, paying developer. The standard program, at $99, is for “developers who are creating free and commercial applications” for the iPhone and iPod touch. The enterprise program ($299) lets you “create proprietary, in-house applications”. Apple says the programs will be open to all in June when iPhone 2.0 ships.
Reactions in the development community ranged from resigned to outraged. On the macrumors forum, one developer wrote: “I got a rejection email and it feels like I’ve been stood up for my high school prom.”
March 16th, 2008
EclipseCon 2008: Fake Steve Jobs, Microsoft, E4, and more
EclipseCon 2008 opens Monday at the Santa Clara Convention Center in Santa Clara CA. The schedule for the week includes a trio of interesting keynote speakers, a ton of technical sessions, and a tinge of controversy over the future of Eclipse development.
The first day will be taken up by tutorials, BOFs, and the Eclipse Community Awards Reception. Each day after that will start with a keynote address, followed by the technical tracks. EclipseCon has always had good keynote speakers and this year is no different. In fact I think 2008 has the best line-up yet.
Tuesday starts with Steve Jobs. Ok, not the real Steve Jobs, the fake one. Dan Lyons, tech columnist at Forbes, wrote his satirical Fake Steve Jobs blog for years before being outed by the New York Times. If anything, the revelation made him even more popular than before.
In something of an annual tradition, Microsoft is making an appearance again this year. This time, Sam Ramji, director of the Open Source Software Lab at Microsoft, will deliver the keynote on Wednesday. I’m not entirely sure why they bother, but hey, everybody is welcome and the Eclipse community is nothing if not open minded and gracious.
Finally, blogger and sci-fi author Cory Doctorow will address the Eclipse faithful on Thursday. You may know Cory as the co-editor of the Boing Boing blog, or as a fellow of the Electronic Frontier Foundation. Expect him to speak out in favor of intellectual property, copy protection, DRM, and file sharing lawsuits. Er, not really.
Besides the keynotes, another draw this year will be discussions about Eclipse 4 (also known as E4). It seems the Eclipse planning council stepped in it earlier this month with a poorly worded announcement of an E4 incubator project that sparked a huge hullabaloo in the community. Well, if nothing else, the somewhat heated discussions that followed show that people are still passionate about Eclipse and about the open way in which it is developed, and that they’ll jealously guard the integrity of both.
March 10th, 2008
Firefox 3 Beta 4 is 5x faster than IE7, 3x faster than FF2
The almost-but-not-quite-final beta of Firefox 3 (FF3 beta 4) is now available for download. The most noticeable improvement is speed. In some tests, it’s three times faster than Firefox 2 (meaning the test completes in 1/3 the time), and a whopping five times faster than IE 7:

(Source: Mozilla Links)
Other improvements in beta 4 include:
- Smarter location bar that tunes itself to your browsing habits. As you type in part of the URL it will offer suggestions based on where you’ve been before.
- Better native look-n-feel on Vista, Mac OSX, and Linux. This includes continuing work on icons, menus, native controls.
- Zoom just the text or the whole page. Zooming the text was one feature I missed from Firefox 2.
- Reduced memory usage. This is the main reason I switched to Firefox 3 for my everyday use. The old version often became unstable after a long session with many tabs open.
To see all the changes made so far in Firefox 3 read this excellent summary by Percy Cabello or see the release notes. Mozilla watchers expect one more beta before the production version is released.
March 7th, 2008
Apple opens iPhone to developers
In a news conference Thursday (otherwise known as Feburary 35th), Apple unveiled the long-awaited iPhone native Software Development Kit (SDK). It can be used by any developers to create native applications for the iPhone and iPod Touch. Up to now, developers have been limited to writing Web apps that ran inside the Safari browser (though various “jailbreak” hacks allowed unofficial programming). But now you can write programs using the same APIs that Apple’s built-in programs use.
The Apple developer’s site was hammered all day yesterday but I finally managed to log in and get access to the SDK software and documentation. Here’s an early look, including my thoughts on how the iPhone SDK compares to Google’s Android SDK.
The architecture
As expected, the iPhone SDK is largely based on Objective-C, a language that achieved some notoriety when Steve Jobs decided to use it in his NeXT computer in 1988. Objective-C, not coincidentally, is also the main programming language used for Mac OSX. Code is compiled down to native ARM instructions. Compare this to Android, which has a virtual machine that runs portable instructions. The iPhone approach is faster, especially if you’re doing a lot of processing in user code (as opposed to system or graphics libraries). However Android’s is more flexible because it can support processors other than ARM (like Intel’s new Atom CPU) without requiring developers to recompile.
The iPhone’s operating system is similar to that found in Mac OSX. The kernel is a variant of the same Mach kernel that is found in the Mac. On top of that are layers of services that are used to implement applications. The Core OS and Core Services layers provide fundamental interfaces such as file access, Bonjour services, a SQLite database, network sockets, etc.. These interfaces are mostly C-based.
The Media layer supports 2D drawing (Quartz and Core Animation), 3D drawing (OpenGL ES), audio (Core Audio and OpenAL), and video (H.264/AVC). Most of these are C-based as well, except for Core Animation which is Objective-C.
The starting point for any new project is the Cocoa Touch layer, which mostly uses Objective-C. This layer includes the Foundation framework (object-oriented support for collections, files, and network), the UIKit framework (windows, views, and controls), and other frameworks for contacts, photos, accelerometers, and other hardware features.
Application life cycle
Each application on the iPhone has the whole machine to itself, aside from the kernel and a few low-level services. When the user navigates to another application, for example they press the Home key or select a web link, your application quits. In other words, any action that would have caused your application to suspend or go to the background in Mac OSX causes your application to quit in iPhone OS. It’s up to you to save state regularly as they are made, or when you get the quit notification. As the documentation says, “Under no circumstances should you let the user navigate to a new page of content without saving the data on the previous page.”
Compare this with Android, which has a much more sophisticated life cycle. iPhone apps have two states: running and quit (not running). The process lifetime is the same as the application lifetime, which is the same as the screen/UI lifetime. Android apps are more nuanced, as all these lifetimes are decoupled. Android also has a concept of an application “stack” and a “back key”, that makes native programs behave more like web pages. The iPhone model will be easier to develop for, but Android can potentially be more efficient and intuitive.
Tools
Apple’s SDK really shines when it comes to tools. iPhone development is done on a Mac (sorry, Windows and Linux users) using the award winning Xcode development environment. Xcode is an IDE that provides tools to create and manage iPhone projects, build code into executables, and run and debug code either in an iPhone simulator or a real device.

Xcode contains a number of advanced features. One of them is the Instruments environment. This lets you analyze the performance of your applications while running in the simulator or on a real device. It shows a graphical timeline of your program’s execution, with data about memory usage, disk activity, network activity, and graphics performance (frames per second). All the information can be displayed side by side, letting you correlate the overall behavior of your application. Android has a much more limited version of this called Traceview.
The Interface Builder (unfortunately not included in the early beta), lets you assemble your application’s user interface visually with drag-n-drop. Once your interface looks the way you want it, you save the contents into a nib file, which is a custom resource file. Nib files are similar to Layout files in Android, except that Android uses human-readable XML, and doesn’t come with a GUI builder.
Conclusions
Mac developers will be right at home on the iPhone. The language is the same, the IDE is the same, and most of the API is the same. Initially I expect most iPhone developers to come from the existing Mac OSX developer community. But it will be interesting to see if it flows the other way too. Will people new to both learn on the iPhone and then port their wares to the Mac?
In contrast, Android programming is most like Java desktop programming. There are two big differences though that make it unlike anything else: Android’s unique application life cycle, and its custom graphics library. While Apple reused Mac Cocoa and Quartz for the iPhone, Google did not reuse Swing, AWT, SWT, lcdgui, or any existing framework for the Android UI.
Both iPhone and Android support location based services, high resolution vector graphics, integrated Web and network functionality, a built-in SQLite database, OpenGL ES, accelerometers, a camera, and a touch screen. iPhone has Multi-touch, which is missing so far from Android, but Android has support for various form factors and other input methods like keyboards and trackballs.
Because of its long Mac OSX history and availability of real devices, the iPhone SDK is much more mature than Android’s. It’s also far larger and more comprehensive. But Android has the advantage of being designed for mobile from scratch. Android’s system requirements are lower than the iPhone’s, and devices will be available from multiple sources, so Android phones should be cheaper. On the other hand, because Apple controls both the hardware and software there are many fewer variations that a developer has to worry about.
If this sounds familiar, it should. PCs have flourished in terms of market share over their often prettier and technologically advanced Mac bretheren because of price and openness. The only non-open thing about the PC was the operating system, controlled by Microsoft. Android phones, because they are based on Linux and open source, won’t have that bottleneck. Is there anyone who can challenge Apple’s industrial design team to make “sexy” Android phones?
Ed Burnette has programmed everything from device drivers and compilers to video games and multi-user servers. He is currently writing enterprise software in a variety of languages including C, Ruby, Python, and Java. For disclosure of Ed's industry affiliations, click here.
Recent Entries
- Firefox 3 beta 5: How many connections is too many?
- Google’s blast from the past
- Mozilla blasts Acid3 as Safari and Opera grab the brass ring
- Opera aces Acid3 (updated)
- Microsoft, Apple, and the death of the desktop
Most Popular Posts
- Microsoft, Apple, and the death of the desktop
- Mozilla blasts Acid3 as Safari and Opera grab the brass ring
- Opera aces Acid3 (updated)
- Firefox 3 Beta 4 is 5x faster than IE7, 3x faster than FF2
- Google's blast from the past
- BlackBerry embraces Eclipse
Top Rated
- Firefox 3 Beta 4 is 5x faster than IE7, 3x faster than FF2+50 votes
- Microsoft, Apple, and the death of the desktop+25 votes
- Acid3 browser test released, nobody passes+16 votes
- Mozilla blasts Acid3 as Safari and Opera grab the brass ring+14 votes
- Opera aces Acid3 (updated)+13 votes
- BlackBerry embraces Eclipse+5 votes
- Firefox 3 beta 5: How many connections is too many?+4 votes
- Google's blast from the past+2 votes
Premier Vendor Content Whitepapers, webcasts & resources from our Power Center Sponsors
- Become an Intel® Premier IT Professional Member!
-
Designed specifically to address the concerns of senior IT managers at organizations with more than 100 employees, the Intel Premier IT Professional Program provides best practices via local and e-Seminars and a members-only Web site.
- Sign-up free and access best practices resources >>
- Now Available: Crossbow Beta
-
Crossbow provides the building blocks for network virtualization and resource control by virtualizing the stack and NIC around any service, protocol, or virtual machine. The source code and binaries are available now.
- Download Crossbow beta today >>
- Virtualize and Optimize Your IT Infrastructure
-
Attend this premier online event on April 10th and learn how strategies like virtualization can reduce your costs and make your business more competitive, flexible, and efficient at every level.
- Sign-up now for the upcoming premier online trade show from PC Connection!
Archives
ZDNet Blogs
- All About Microsoft
- The Apple Core
- Between the Lines
- BriefingsDirect
- The Core Truth
- Dev Connection
- Digital Cameras
- Ed Bott's Microsoft Report
- Emerging Tech
- Enterprise Alley
- Enterprise Anti-matter
- Enterprise Web 2.0
- Googling Google
- GreenTech Pastures
- Hardware 2.0
- Irregular Enterprise
- IT Facts
- IT Project Failures
- IT Services & Outsourcing
- John Carroll
- Laptops & Desktops
- Lawgarithms
- Linux and Open Source
- Managing L'unix
- The Mobile Gadgeteer
- On Sustainability
- Rational Rants
- The Semantic Web
- Service Oriented
- The Social Web
- Software as Services
- SOHO Networking
- Storage Bits
- Team Think
- Tom Foremski: IMHO
- The ToyBox
- The Universal Desktop
- Virtually Speaking
- ZDNet Education
- ZDNet Government
- ZDNet Healthcare
- Zero Day
Popular white papers
- How to Choose an Offshore Outsourcing Development Partner SolovatSoft
- Successful IT Outsourcing to Russia SolovatSoft
- Remote Support has never been so easy! Try WebEx free today! WebEx Communications
- Rapid E-Learning: Maturing Technology Brings Balance and Possibilities Adobe Systems
- Cool Features for SQL Server 2008 Quest Software
- The Great Debate: Buy Versus Build -- Oracle's Pre-built Analytic Applications Versus Building a Custom Warehouse Oracle













