Practical Technology

for practical people.

September 26, 2013
by sjvn01
0 comments

Forked! Where WebKit Goes From Here

For years, WebKit was easily the most popular Web-browser rendering engine. It was the foundation for no fewer than three of the most popular Web browsers: Chrome, Safari, and Opera. Then, Google forked WebKit with Blink, and now it’s not at all clear where WebKit is headed.

At LinuxCon in New Orleans, Juan Sanchez gave his take on what’s going on with these open source projects. Sanchez is a member of both the WebKit and Blink teams and co-founder of Igalia, a Spanish open source consulting company that specializes in Web browser software.

Sanchez opened with WebKit’s history. It started as an Apple fork of KDE’s KHTML and KJS for Safari in 2001. The project went open source in 2005, after which it quickly became popular in other Web browsers and for other Web user-interface based programs. WebKit was always meant to be a Web browser engine (a set of core classes that can display Web content in a window), as is Blink; they are not browsers in and of themselves.

In April 2010, Apple introduced WebKit2 to support a split process model. WebKit2 was not an updated version of WebKit. Instead, WebKit2 added three different processes: a UI process, the WebView widget, and an application UI.

Chromium, Google’s open source Web browser that backs its Chrome Web browser, has its own multi-process architecture. This is quite different from WebKit2’s method. In fact, they were incompatible.

Most browsers stuck with the far simpler-to-use WebKit. At this time, there are only two major WebKit2 desktop browsers: Apple’s Safari and KDE’s Konqueror. Nevertheless, Sanchez said, WebKit was on its way to being the maintenance platform and future work would all be on WebKit2.

The ground was laid for a WebKit fork.

Three years after WebKit2’s introduction, in April 2013, Adam Barth, a Google Software Engineer, announced that because of the difficulties in supporting multiple architectures for both the WebKit and Chromium projects, the collective pace of innovation had slowed down.

Thus, Google decided to introduce Blink.

Webkit_LogoAccording to Sanchez, Google’s move came as a shock to the WebKit development community. It shouldn’t have.

Chrome’s architecture didn’t fit well with WebKit2’s structure, Sanchez explained. In addition, Google actually had more developers working on WebKit than Apple did (albeit the numbers of patches that both companies contributed to the program was about the same). Despite the coding parity, Apple had been seizing more control of WebKit. Apple recently introduced the new top-level role of “owner,” and only owners could commit changes to WebKit2.

And there’s always the element of the “browser wars,” including everything from performance issues to personal preference. It can’t be ignored that software developers, such as John Siracusa, have found that “Google’s Chrome has proven to be far more stable and resilient in the face of misbehaving web pages than Apple’s WebKit2-based Safari.” Others suggested that “WebKit is long in the tooth” and called it “a product of PC thinking.”

So where does WebKit go from here? Well, so far, Blink is winning the hearts and minds of developers, Sanchez claimed. Opera immediately followed Google to Blink and Qt just announced that it too, is moving to Blink because of a lack of cross-platform support. Other WebKit programmers are still trying to make up their minds, Sanchez said.

What’s that mean to the community process? It is safe to say that Google’s leaving will slow down WebKit development. Sanchez also fears since Apple is the largest remaining stakeholder, it will become much harder for other developers to have a say in WebKit2 development.

It’s not clear how “open” Google will be to external changes to Blink. Still, non-Google developers’ patches are beginning to show up in the Blink tree.

During the presentation, Sanchez said that the WebKit2 source code is, just considering C++, Objective-C, and C ?les alone, more than 1.6-million lines of code.

Worse, Sanchez confessed, that code is quite complex and there is “no single centralized place to follow all WebKit/WebKit2 development process. There are no core blogs, mailing lists, IRC, etc.”

Wow.

With this lack of organization, it’s a miracle that WebKit has been as successful as it has been. Now that Google has Blink as a WebKit-based alternative, which has a bug tracker and mailing lists, I anticipate that, outside of Apple, Blink will quickly become the dominant open source Web-rendering engine.

Technically speaking, the two rendering engines are already beginning to diverge. For now, code is still portable, but within a year Sanchez is sure that will not be the case. Despite that problem-in-the-making, Sanchez thinks it is a positive development that open source Web developers have two engines from which to choose.

Still, Sanchez, who’s near the heart of both projects, thinks that “It remains to be seen how the situation in terms of open source dynamics and project health and quality will be in a few months.” And his company, which is a top-five contributor to both projects, plans to continue to support both for the time being.

Personally, I left the speech much more certain that Blink is the future.

Forked! Where WebKit Goes From Here. This story was first published in SmartBear.

September 26, 2013
by sjvn01
0 comments

Hummingbird: Google overhauls search engine

Google does lots of things today—Chromebooks, Android, and they’re the 800-pound gorilla of Internet advertising—but when all is said and done, search is still at its heart. So it comes as no surprise that for its 15th anniversary, Google is introducing a major change to its core search engine: Hummingbird.

According to Google, this change to the core algorithm is its biggest since the launch of Caffeine in 2010.

Hummingbird: Google overhauls search engine. More>

September 26, 2013
by sjvn01
0 comments

What’s what with Amazon’s Fire OS 3.x

Believe it or not, the most popular Android tablets are Amazon Kindle Fire devices. And, if you’re still thinking of the Kindle Fire line as just being a fancy e-reader, think again. Its new operating system, Fire OS 3.0 “Mojito” is being designed not just for home-users but for business professionals as well.

What’s what with Amazon’s Fire OS 3.x. More>

September 25, 2013
by sjvn01
0 comments

Solr: The Most Important Open Source Project You’ve Never Heard Of

When I did a story recently about in-demand open source jobs, I wasn’t surprised to hear from Dice that the job market was hot, hot, hot for OpenStack (for Big Data, Hadoop in particular) and for the LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python). What did surprise me–indeed, shocked me–was that another red-hot tech jobs area was Solr.

“Solr?” I wondered. “What the heck is Solr?” That was also the reaction of all of my developer friends. And, since my buddies and I, among the lot of us, have centuries in the tech business, we’ve seen a lot of programs. That “Oh, did you say money?” item set me to do my research. Now I’ll let you into the secrets of Solr.

One reason why Solr may not have gained the attention it deserves is it’s actually apart of another larger and much better known open source project, Apache Lucene. This, as I’m sure you know, is a Java-based text search engine library.

Lucene is used by many companies and groups as the foundation for their search engines. These organizations include AOL, Disney, and Eclipse. Lucene’s chief selling point is that the indexing engine, with a footprint of a mere megabyte of RAM, can index up to 150GBs per hour of text on commercial off-the-shelf hardware. That’s darn good!

Solr comes into the picture as the search platform front-end for Lucene. It provides full-text search, including the ability to handle such formats as Microsoft Word and PDF with Apache Tika; hit test highlighting; and faceted search, which incorporates free text searching with topic taxonomy indexing.

Like Lucene, Solr is very popular (even if I didn’t know about it before now). It’s used by sites such as Reddit, Netflix, and Instagram. These are all websites whose users won’t stand for slow response time. Solr can deliver the kind of performance that cranky users demand.

Under the hood, Solr is written in Java and it relies on Lucene for its core functionality.  It usually runs within a servlet container such as the Jetty HTTP server and Javax.servlet.

Solr has REST-like HTTP/XML and JavaScript Object Notation (JSON) APIs for ease of programming from almost any language. So, while you can work with Solr using its native Java, you also can use your language of choice. For example, query results can be returned in XML/XSLT, JSON, Python, Ruby, PHP, Velocity, CSV, or binary formats. You can use this data with whatever package strikes your fancy.

While Solr is built on Lucene, it also expands upon it. For instance, it supports sharded data, geospatial search, and user extensible caching. The end-result is a very fast and flexible back-end DBMS for almost any Web search engine job.

With its exhaustive documentation, the program promises to make it easy to get up to speed. As for administrators, with an AJAX-based administration interface and comprehensive logging facilities, Solr is simple to manage.

While Solr is clearly useful and easy, clearly not enough Solr experts are out there. According to Dice on September 11th, 2013, there were no fewer than 318 Solr jobs listed. Many of these job listings had a phrase like, “Solr experience is a must.” If you’re interested in pursuing this in-demand open source job skill, big data experience is a real plus. In particular, Hadoop and its close relative, Hbase, were frequently mentioned. And, of course, if you can do all this on a cloud architecture, that’s a real plus.

So, in short, if you’d like a programming job sooner rather than later, don’t be like me and my buddies. Learn about Solr today so your resume will look better tomorrow.

Solr: The Most Important Open Source Project You’ve Never Heard Of. This story first appeared on the SmartBear Web site.

September 25, 2013
by sjvn01
0 comments

Valve’s Linux-powered Steam Machines gather steam

Linux-powered gaming computers and consoles are on their way. After announcing SteamOS, a full-featured Linux with added gaming features, Valve, in mid-September, the gaming giant has followed up by saying that it will release 300 prototype Steam Machines to beta-testers this year. In 2014, Valve and its hardware partners will follow this up by with multiple SteamOS machine releases

Valve’s Linux-powered Steam Machines gather steam. More>