YouTube today has released its Android API, providing more native functionality for developers who wish to build video into their apps for Android phones and tablets. The API, which was announced at Google I/O in June, could pave the way for more interesting video-related apps that leverage YouTube videos.
With the launch of the new Android API, developers will now be able to embed high-quality videos to their apps without having to leverage YouTube’s WebView implementation. For apps on Android, that means no more iframes. It also means that developers will have a much richer suite of available actions and features that they’ll be able to take advantage of.
Available for apps on Froyo devices or later, the API provides access to full-screen video and orientation change support, as well as closed-caption display, support for YouTube ads, and direct access to the Android YouTube app. While being launched on an experimental basis, the API will drastically improve the experience for users tuning in to videos on Android apps.
Earlier today, I bemoaned the lack of Android apps which support video discovery and native YouTube embeds while writing about 9×9.tv. Indeed, that app is one of the first to take advantage of the new API, providing a new form of video discovery for Android users. Soundtracking — which Josh wrote about yesterday — is also leveraging the new API to provide some new, Android-only features. In addition, Buzzfeed and Flipboard are taking advantage of the new API, building YouTube videos directly into their Android apps.
We can expect more apps to emerge on Android devices that take advantage of these capabilities. We’re also likely to see the emergence of more cross-platform capabilities from existing apps that today only work on iOS devices. For Google, it’s one way to help boost development for Android, while also improving the quality of experience for YouTube viewers in non-YouTube apps.
YouTube provides a platform for you to create, connect and discover the world’s videos. The company recently redesigned the site around its hundreds of millions of channels. Partners from major movie studios, record labels, web original creators, viral stars, and millions more all have channels on YouTube. YouTube is predominantly an ad-supported platform, but also offers rental options for a growing number of movie titles.
YouTube was founded in 2005 by Chad Hurley, Steve Chen and Jawed Karim, who…
→ Learn more
Android is a software platform for mobile devices based on the Linux operating system and developed by Google and the Open Handset Alliance. It allows developers to write managed code in Java that utilizes Google-developed software libraries, but does not support programs developed in native code.
The unveiling of the Android platform on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 34 hardware, software and telecom companies devoted to advancing open standards…
→ Learn more
Article source: http://techcrunch.com/2012/12/21/youtube-android-api/
Tags: API, Chad Hurley, Open Handset Alliance, Steve Chen
While most tools of the digital communication age continue to evolve, for some reason email has been curiously (and tragically) stuck in the past. Online email clients have replaced clunky desktop software, and spam filters have vastly improved, but at its core, email today functions much like it did in the ’90s.
MxHero, a New York City-based startup (and recent graduate from Entrepreneurs Roundtable Accelerator), hopes to save us from the archaic limitations of email with a universal platform that can work across any email provider.
Today the company is launching a Google Chrome extension that will give any Gmail user a taste of its platform, including the ability to send a self-destructing email, notifications of when recipients access attachments, and the ability to send batch personalized emails. The latter feature is particularly intriguing, because it solves the ugly blind carbon copy hack for sending batch messages without sharing all of the recipients (i.e., putting your recipients in the “BCC” field and your own address in the “To” field.)
While the extension is MxHero’s first direct-to-consumer offering, the company’s technology has already been implemented by the likes of Zimbra, Box, and VMWare. MxHero’s technology can be implemented as both a cloud service and an on-site service (which should make stodgy IT departments happy). It also works across any email platform.
MxHero’s full suite of plugins includes the ability to control the delivery times of certain types of email (for example, all of your newsletters can land after the work day ends), a simple method for sending large attachments (despite your email provider’s limitations), and the ability to be notified if a recipient doesn’t respond to your email in time. These are seemingly simple additions, but they’ve been difficult to implement so far in decades-old email standards.
Alex Panagides, MxHero’s founder and chief executive, tried to push forward the potential of web apps with his previous firm, Inova. He’s also committed to maintaining the open nature of email standards — MxHero’s technology is open source, and it has made an API available for developers (though it’s not fully documented yet).
I’ve been testing out the Chrome extension for the past week, and I can confirm that all of the plugins work as advertised. After a short setup period (which simply involves granting the MxHero extension access to your Gmail account), you’ll see two new buttons when you’re composing a Gmail message. To use one of the extension’s features, simply choose it from the “Apps” button and then click the MxHero “Send” button (not the standard Gmail send button).
To add new features to email, the company takes some creative routes. For example, the self-destructing email feature turns your message into an image, which is what the recipient actually sees. Once the image has been viewed once, it is removed from MxHero’s server. A shady recipient can still take a screenshot of the message, but the feature still adds a helpful layer of security.
MxHero is about halfway through raising a $900,000 seed round, Panagides tells me.
Photo via Shutterstock
Article source: http://venturebeat.com/2012/12/20/mxhero-chrome-gmail-extension/
Tags: Alex Panagides, API, BCC, Dark Ages, Google Chrome, New York City
Most web browsers display a selection of popular sites that you have visited in the past when you open the new tab page. Some give you control over the websites displayed here, while others do not. Firefox users can for instance pin sites to their tab page to make them permanently available there, while Chrome users can only remove pages from the list that they want removed. And Opera users, they even get extensions for that page to fill it with dynamic data.
It appears that Google is currently experimenting with a new tab page for its Chrome web browser that moves away from the rather messy design that Chrome users currently have to deal with.
When you open a new tab page in Chrome right now, you get a representation of eight websites you visit frequently, bookmarks at the top, an option to switch to apps instead of websites on the page (a setting that Chrome remembers), options to browse recently closed websites, and a link to Chrome’s web store.
Chrome’s new tab page displays a Google search form prominently on the page, and below that either the most visited sites or apps.
What feels a bit strange at first is that a click in the search box redirects your request to the browser’s address bar automatically. Once you know that, it does not really make sense to display the search form on the page as you can as easily click on the address bar instead to start the search from there.
The new tab page is only available in Chrome Dev builds right now. To activate it, you need to switch a flag in the experimental section of the browser. Load chrome://flags in the browser and locate the flag Enable Instant extended API. Click on Enable to activate it and restart the web browser afterwards to load the new configuration. You have access to the new tab page from that moment on. To disable, simply open the flags page again and click on disable this time to do so.
Adding a search to the new tab page does not make lots of sense as it is easier to search using the address bar directly. The best explanation that I can come up with as to why it has been added to the page is as a visual help for inexperienced users to search faster.
Enjoyed the article?: Then sign-up for our free newsletter or RSS feed to kick off your day with the latest technology news and tips, or share the article with your friends and contacts on Facebook, Twitter or Google+ using the icons below.
Article source: http://www.ghacks.net/2012/12/14/chromes-new-tab-page-puts-focus-on-google-search/
Tags: API, Chrome Version, EIGHT, Enable Instant, Google Search, Top Sites
Not long after Chrome was officially released to the public, I put it through my very-unofficial testing, eventually writing an article about it. Readers did not mince words in their comments. Firefox was more secure — due in large part to NoScript, Giorgio Maone’s anti-scripting app.
I still use Chrome. You could say I like living on the digital-edge.
Not NoScript, but ScriptNo
There were several high-profile digital crimes involving script attacks in first quarter 2012, and that was chipping at my precarious position on the edge. Around that same time, I ran across a blog post by a young Canadian named Andrew Young. He purportedly had a solution for me, boldly calling it ScriptNo:
“ScriptNo essentially gives you more control over what is loaded by pages you browse. This means less ads, less tracking, less annoyances, more security, more privacy, and more comfort.
ScriptNo can block web bugs, block pages from detecting where you came from, as well as content that you don’t want. You are given granular control in the form of a whitelist and blacklist.”
Sounds perfect. Fast forward several months of once again very-unofficial testing, and it’s time to meet Andrew, and pepper him with questions.
Kassner: Andrew, thank you for taking time to talk to me about ScriptNo. First, a bit about yourself — what is your background? What motivated you to develop ScriptNo?
Young: I am a 23-year-old computer enthusiast who loves developing new and exciting things. I recently received my Bachelor of Commerce degree in Business Technology Management at Ryerson University.
Kassner: ScriptNo is a Chrome extension — a small software program that can modify and enhance the functionality of the Chrome web browser. How does ScriptNo modify and/or enhance the functionality of Chrome?
Young: ScriptNo enhances the Chrome experience by allowing users to control what loads and what doesn’t load on pages. The more you use it, the smarter and less intrusive it gets. It honors your privacy and seeks (by default) to foil web bugs and tracking code. Also, pages load faster with ScriptNo as unwanted resources are prevented from loading.
Kassner: When first installing security apps like ScriptNo, it’s important to know what’s blocked and what’s not. What can a user expect from ScriptNo right out of the box?
Young: ScriptNo starts working immediately after it’s installed, blocking resources by default, and showing the user what has been blocked or allowed. ScriptNo gives the user several options, such as temporarily allowing it or allowing it permanently. Simply click on the toolbar icon to get a list of resources and their current condition.
Kassner: After installing ScriptNo, I went to my favorite website, clicked on the ScriptNo icon and the following window opened.
What are we looking at?
Young: Above is a list of allowed resources (files that were allowed to load), a list of blocked resources (by default files hosted by a third party are blocked), and several options for each.
To the right side are options for the current page. You can choose to allow/trust/deny/distrust the domain:
- Allow would add the current subdomain to the whitelist.
- Trust would whitelist the entire domain; all pages on that domain would be allowed by default.
- Deny would add the current subdomain to the blacklist.
- Distrust would blacklist the entire domain to the blacklist.
Kassner: As I moved the pointer over one of the resources, the following window opened.
What do the web addresses refer to?
Young: This is a feature I built into ScriptNo to be more intuitive to the user. The web addresses listed in the hover-over title are the full addresses of the resources that were blocked/allowed. This provides information on what each domain is attempting to load, and helps the user decide whether to allow or block the resource.
Kassner: I just noticed the “Rating” button. What is that for?
Young: The rating button loads Web of Trust page for that particular domain, advising the user about the reputation of the domain. This should help users determine whether or a domain is safe or questionable.
Kassner: I was checking out the ScriptNo Options and came across the following configuration choices.
What are the above selections referring to?
Young: Antisocial Mode blocks social widgets (e.g. Facebook “Like” buttons, Twitter feeds, and a number of other social “widgets”). The purpose of this feature is to prevent such sites from tracking your activity across the Internet.
Remove Web bugs will remove tiny 1 by 1 pixel — images/iframes meant to track user movements on the Internet. For example, Tracking.com — a third-party tracking site — has placed a web bug on the website ABC.com.
Block Click-Through Referrer will automatically detect third-party links on a page and add rel=”noreferrer” to its attributes. This is a new capability introduced by HTML5 that will erase the referrer header when the link is clicked. I’ve made use of this capability to bring seamless and non-intrusive referrer privacy into ScriptNo.
Kassner: Last year, Giorgio Maone mentioned on a forum:
“Chrome/Chromium misses many key hooks and infrastructures which are indispensable to deliver the security features provided by NoScript with an acceptable degree of completeness and reliability. If/when they’re there, I’m gonna port NoScript to Chrome.”
To the best of my knowledge, NoScript is still not available as a Chrome Extension. Can you explain what he was referring to and how ScriptNo avoids the problem?
Young: I respect and greatly admire Giorgio Maone. One of my personal hopes is for Maone to port NoScript to Chrome. I also hope ScriptNo shows it is possible and inspires further work on this initiative.
It’s important to understand that ScriptNo does not bring over all of NoScript’s security to Chrome due to limitations in the Chrome API. I’ve tried my best to make do with the limitations. And, I’ve built in several workarounds in ScriptNo that help address some of the shortcomings in the API.
Kassner: People are going to compare ScriptNo to NoScript. You even somewhat forced the issue with the name. What are the similarities? Differences?
Young: I don’t mind if people compare the two. I just want to make it clear that ScriptNo does not have all of NoScript’s capabilities.
Similarities: Both NoScript by Maone and ScriptNo give users control over their Internet experience.
Differences: The interface for one. In ScriptNo you are able to hover over items and see the exact URLs and a basic interface, while NoScript has a very comprehensive interface. The big difference would be the code itself and the fact that NoScript and Firefox have been around longer, whereas Chrome and ScriptNo are relatively new.
Kassner: As passionate as you are about ScriptNo, I’m betting ScriptNo is still evolving. Could you give us a few hints as to what you are working on?
Young: ScriptNo is definitely still a work in progress. I’ve received support, both technical and financial, from the Internet community and I’d like to take this time to thank each and every one of them.
A few things I’d like to bring to ScriptNo are:
- Support for languages.
- Fix some bugs users have reported to me.
- Fully utilize the Chrome API to bring more reliable and comprehensive blocking to ScriptNo.
- Improve the interface to enhance the ScriptNo experience.
Kassner: Andrew asked me if he could add the following.
Young: I genuinely hope users have found ScriptNo useful and that it has helped improve their browsing experience and privacy on the Internet, which has unfortunately become a dangerous place.
One of the hardest things writing this article was keeping NoScript and ScriptNo straight. From what readers have mentioned earlier, if ScriptNo is able to protect in a similar manner, Chrome users now have a powerful option.
Thank you Andrew for taking the time to explain ScriptNo.
Article source: http://www.techrepublic.com/blog/security/scriptno-a-preemptive-strike-against-script-attacks-for-chrome/7962
Tags: API, Giorgio Maone, Kassner Andrew, Kassner Last, Kassner People, Remove Web
Dome9 has launched its Instant Access app for Chrome browsers
Cloud security firewall provider Dome9 Security announced on Wednesday the availability of Dome9 Instant Access for Google Chrome, a new browser-based application that allows one-click secure access to any server and any cloud for Google Chrome users.
Dome9 security solution delivers a GUI-based firewall management service to secure an unlimited number of Windows and Linux servers in any virtual private, cloud, collocated, and hosted environment, according to the press release. It appears to be the only app in the Google Chrome store of its type, as the other cloud security apps sync data, manage cloud passwords, and e-signatures.
This announcement comes a month after Dome9 launched its free cloud security service Dome9 Lite Cloud. Dome9 Instant Access is included for the first 30-days in the Dome9 Lite Cloud.
Both of Dome9′s recent steps in offering free tools for developers and administrators to protect public and private cloud, as well as dedicated and virtual private servers, seem to signal a move towards offering more security solutions for end-users. Dome9 still offers a cloud security service for managed service providers like web hosts to offer to their clients, but lately it seems to have been targeting developers and administrators directly. Web hosts and data center providers can offer Dome9 security by joining the Dome9 partner program either in a reseller capacity, or through the MSP OEM segment that gives partners tier one volume licensing with full API support.
The new Dome9 Instant Access button can be integrated directly into the Google Chrome browser, and is a free app in the Google Chrome Web Store. On Tuesday, Google officially launched its Drive cloud storage service, and says the apps users purchase through the Chrome Web Store can be integrated easily into its Drive storage offering.
“Our new instant access app for Google Chrome makes it unbelievably easy to get secure access to any server, on-the-fly,” Zohar Alon, Dome9 co-founder and CEO said in a statement. “It installs in less than a minute, and incorporates our patent-pending Secure Access Lease technology with new auto-notifications and lease extensions. This new functionality marries security and simplicity to make any server virtually invisible to hackers, yet accessible when, for whom, and only as long as is needed.”
Dome9 says that customers pair the Dome9 Chrome application with a Dome9 account using the API key available within their Dome9 account. Once they are paired, Dome9 Instant Access allows users to select the servers, services, and time period for default access.
Dome9 Instant Access is included in the Dome9 Business Cloud as well, according to the press release.
Talk back: Do you think more cloud providers will use the Chrome Web Store to deliver free apps to end-users? What do you think about this new product? Let us know in the comment section.
Nicole Henderson writes full-time for the Web Host Industry Review where she covers daily news and features online, as well as in print. She has a bachelor of journalism from Ryerson University in Toronto, and has been writing for the WHIR since September 2010. You can find her on Twitter @NicoleHenderson.
No related posts.
Article source: http://www.thewhir.com/web-hosting-news/cloud-security-provider-dome9-releases-google-chrome-application
Tags: API, Chrome Web Store, Dome9 Instant Access, Dome9 Lite Cloud, Google Chrome, Zohar Alon
Andy Rubin, Google’s senior vice president of mobile (Credit: Intel)
Last updated: 9:30 PM PT
As the second week of the Oracle-Google trial got underway Monday, Andy Rubin, the man behind the
Android platform, took his turn on the witness stand. Oracle’s lead lawyer, David Boies, quickly got to his main point in taking Rubin through a series of emails from 2005 and 2006.
He established that Rubin knew that he didn’t need a license for the Java programming language, but that the emails made clear during that period of Android’s development he thought Google would need a partnership with Sun or a TCK license from Sun, and that the java.lang APIs were subject to copyright.
“Those were options at the time,” Rubin said regarding whether to partner with Sun or acquire a license.
Boies then went on to Rubin’s email statement that a “cleanroom version of the Java Virtual Machine (JVM) would be unlikely because of the Android team’s prior knowledge of Java. Several of them were key members of Sun’s Java development group.
“I think that is reading a lot into that small sentence,” Rubin said.
Boies re-read the sentence to Rubin.
“We were contemplating development. At this time I am unsure as to whether it had begun or not. We hadn’t actually made a decision to implement a cleanroom VM at this point,” Rubin said
Boies pointed Rubin to the Android GPS presentation from July 26, 2005, which he told executives at Google that a cleanroom implementation of the JVM is unlikely.
On October 11, 2005, Rubin wrote Google co-founder Larry Page about the need to take a license from Sun:
“My proposal is that we take a license that specifically grants the right for us to Open Source our product. We’ll pay Sun for the license and the TCK. Before we release our product to the open source community we’ll make sure our JVM passes all TCK certification tests so that we don’t create fragmentation.”
The smoking gun as it relates the API copyright issue came in a March 24, 2006 email in which Rubin said he didn’t see how Google could open Java without Sun since Sun’s owns the intellectual property and the brand.
Boies asked Rubin if he meant that he needed a Sun agreement or permission. Rubin responded, “Yes, that’s correct.”
Boies then pointed to Rubin’s statement in an email of the same day that java.lang APIs are copyrighted. “You meant copyright by Sun?,” Boies asked.
Rubin responded, “I didn’t exactly say that …in the context of this I think that means that the APIs were copyrighted.”
Oracle is contending that 37 Java APIs used in Android are subject to copyright. In contrast to Rubin’s 2006 statement on APIs, Google’s lead lawyer Robert Van Nest said last week, “This copyright claim is a little crazy…that’s a lawyer made up thing.” Google also maintains that Android’s 15 million lines of code don’t infringe on any Oracle intellectual property. Oracle is asking for $1 billion in damages from Google.
Rubin’s testimony with Boies will continue Tuesday morning. Google’s lawyers will call him when they begin their case, and Rubin will have to explain how his thinking or interpretation about licensing and API copyright changed over the years.
Oracle v. Google trial exhibit 12)
See also: Full coverage: Oracle v. Google
See also: Android, Java, and the tech behind Oracle v. Google (FAQ)
See also: Google’s Tim Lindholm faces off with David Boies on Java license
See also: APIs take center stage at Oracle-Google trial
Article source: http://news.cnet.com/8301-1035_3-57418996-94/android-chief-andy-rubin-said-java.lang-apis-are-copyrighted-in-2006-email/
Tags: Andy Rubin, API, David Boies, JVM, Oracle Google, TCK
(click image for larger view and for slideshow)
Oracle and Google continued their legal battle in San Francisco federal court on Thursday, beginning the day with a tussle over the authenticity of Java code that Oracle claims to have downloaded from Google’s website on March 12.
Oracle says the file shows that Google has not removed the allegedly infringing Android code from its public website as Google claims to have done. Google wants some assurance that the file really was downloaded then.
“Are you saying it has been forged?” Judge William Alsup asked skeptically.
Not at all, Google trial counsel Daniel Purcell answered. Google’s interest in receiving formal verification of the file from Oracle arose out of having only received notice of this file several days ago, he suggested.
[ Learn more about the case. Read Google: Oracle Wants To Glom Onto Android's Success. ]
The judge settled the matter by stating that someone will be made available to attest to the legitimacy of the file at a later time. Then he scolded the two sides for their intransigence.
“This is something you should’ve figured out overnight, c’mon,” he said, reinforcing accounts that have characterized him as a no-nonsense jurist.
Mark Reinhold, Oracle architect for the Java platform, returned to the witness stand to continue his explanation of the distinction between the Java language–freely available for use–and the Java APIs, which are the detailed specifications that describe valid uses of the Java language.
Oracle is seeking damages from Google for using a subset of its copyrighted APIs without authorization, and for alleged patent violations.
Cross-examination from Purcell blurred the clear lines that Reinhold had drawn under questioning from Oracle to distinguish between the Java language and the Java APIs. Purcell twice asked that video depositions of Reinhold be played in which his definitions of the boundaries of Java and its APIs differed from the definition he offered in court.
Purcell also had Reinhold acknowledge that some 10% to 20% of Java’s API have been written by contributors outside of Sun or Oracle, contributors who were not paid by Sun or Oracle. The implication is that perhaps some of the Java API copyrights may not be valid.
It was enough that Oracle attorney Michael Jacobs asked the court to instruct the jury there’s no ownership dispute about Oracle’s copyrights in the case. But clearly Google is raising that question and the judge wasn’t immediately ready to accede to Oracle’s desire to take the question of ownership off the table.
In one of its filings Google asserted: “Computer programming languages are not copyrightable, and neither are Oracle’s APIs.” So this issue is sure to be raised again.
After Reinhold was excused, Oracle called Joshua Bloch, chief architect at Google, to question him about his views on the importance of good API design. Bloch affirmed that programming is creative, which helps support the notion that code should qualify for copyright protection.
“Writing a program is very much a creative process,” Bloch said.
Under questioning from Jacobs, Bloch acknowledged that the Timsort.Java API he’d created for Android was virtually identical to a similar range checking API, Arrays.Java, that he’d written for Java while working for Sun.
Is that copyright infringement? That’s what Oracle hopes to establish, but that point has yet to be settled, in part because the boundaries of where the open Java language ends and the proprietary Java APIs begin remain a matter of disagreement.
Bruce Baber, counsel for Google, countered the notion that Bloch had copied Java APIs by asking him whether he had any creative freedom when re-implementing an API, as Google did with Android.
Article source: http://www.informationweek.com/news/development/java/232900594
Tags: API, Bruce Baber, Joshua Bloch, Judge William Alsup, Mark Reinhold, Michael Jacobs
The eyeless, mouthless Java mascot named Duke cartwheels across a T-shirt from a JavaOne conference.
Sun Microsystems’ years-long effort to profit from Java has come to this: the chief executives of two of tech’s most powerful companies, Oracle and Google, being grilled in court.
Scrapping over copyrights, patents, and licensing deals is an ignominious outcome for a technology that a decade and a half ago spooked Microsoft and seemed poised to inject dynamism into a largely static Web. Back when it debuted, Java was a brand that carried impressive power.
Though Java has been technologically influential, its brand clout with the average person has diminished as other software such as Apple’s iOS and cloud computing rose to prominence. So now probably is a good time to dig into some of the details on which Oracle’s case hinges.
What is Java?
Java — invented at Sun in the early 1990s and absorbed into Oracle with Oracle’s Sun acquisition in 2010 — is several things.
First, it’s a programming language — a carefully defined way of issuing instructions to get a computer to do something useful.
Second, Java comes with software called a virtual machine that runs programs written in Java. The Java virtual machine (JVM) looks to Java programs like a real computer, but it’s really a layer that hands off instructions to the lower-level operating system actually running on some computing hardware. By building JVMs tailored for a variety of computers, the same Java program can at least theoretically run on both a
Mac and a Windows computer. Thus Java’s initial tagline: “write once, run anywhere.”
Third, Java includes pre-written code called class libraries that does all manner of work — everything from cryptography to communicating using Bluetooth. A Java programmer wanting to tap into this prefab power does so through a carefully defined mechanism called an application programming interfaces, or API. A sizable collection of companies define these APIs for Java.
Collectively, these three components are collectively called a Java runtime environment, or JRE, and it’s what you need on your computer to run Java software. To be able to slap a Java logo on a particular device, it has to pass tests to ensure it runs Java programs correctly.
Happier times: Sun and Google were Java allies in 2005, when Sun’s then-president Jonathan Schwartz, left, and CEO Scott McNealy, center, joined Google CEO Eric Schmidt to tout a partnership that ultimately fizzled.
Well, that sounds simple enough
Guess again. Java quickly gets more complicated than that.
There are different varieties for different uses. The initial Java Standard Edition was geared for personal computers. It was joined by the Enterprise Edition, which defined APIs for server tasks such as managing databases, and the Micro Edition, which defined APIs for mobile tasks such as sending text messages on a phone.
And it got even more complicated: the Micro Edition had different varieties: the Connected Limited Device Configuration, the Personal Profile Specification, the Mobile Information Device Profile, the Mobile Information Device Profile 2.0, and more.
The upshot was that programmers couldn’t necessarily predict what APIs a particular device would support. Would a phone allow accelerated 2D graphics through Java? How about 3D graphics? That’s important to know if you’re writing a game. The lack of consistency led to the mocking tagline of “write once, test everywhere.”
A last gasp came in the form of JavaFX, which aimed to sweep away the muddle with a prepackaged software foundation from Oracle. But as it was arriving, another force attracted mobile programmer attention instead: Apple’s iOS.
Oracle argues that Android has fragmented Java, undermining its write-once, run-anywhere promise.
Android fit into this?
For all Java’s shortcomings on mobile phones, Sun and Java allies such as Motorola had done a lot of work crafting technology suited to the market. And its cross-platform advantages held appeal for anyone hoping to build a broad new mobile ecosystem.
Thus, when Google and its allies were in search of a programming foundation for Android — something that could span a range of devices — Java was a natural place to start. Indeed, in 2005, that was the plan, for several reasons.
In addition to the technology itself, there were many Java programmers, meaning that developers aiming for Android wouldn’t have to start from scratch. And embracing Java would stick it to Microsoft, the original competitor Google had in mind for its mobile operating system.
But Java came with strings attached.
What strings? I thought Java is open-source software?
Open-source software grants lots of liberties, but it doesn’t necessarily mean somebody can do whatever he wants with it.
Sun picked the GNU General Public License for OpenJDK, the open-source version of Java Standard Edition project and what it called PhoneME, the open-source version of Java Micro Edition. But there was a subtle but important difference between the two projects.
For OpenJDK, Sun supplemented the GPL with what’s called the “classpath exception” for class library code. That exception bypassed a key GPL requirement that a project derived from a GPL-governed project also be governed by the GPL. With the classpath exception, programmers didn’t need to worry that using the GPL-governed libraries would “infect” their software, requiring them to release it under the GPL, too.
But PhoneME lacked the classpath exception. “The reason we have chosen not to add the classpath exception to Java ME is simply because Java ME applications are typically not shipped in a bundle together with the platform implementation and therefore an explicit classpath exception is not needed,” Sun’s Terrence Barr said of the decision.
That may or may not have been a typical situation, but it’s exactly what happens with Android — and Google didn’t like it. The company wanted an open-source project, but one that others could modify as they saw fit, including with their own proprietary software. That could include anything from a user interface to a video decoding package to a custom keyboard.
“We are building a platform where the entire purpose is to let people differentiate on top of it,” said Android chief Andy Rubin in an August 11, 2007, e-mail that Oracle is touting in its case against Google (PDF). “Sun chose GPL for this exact reason so that companies would need to come back to them and take a direct license and pay royalties.”
So what did Google do?
It liberally borrowed technology from Sun’s Java — including the programming language itself, the syntax of many of the APIs that Java programs call upon, and the virtual machine approach.
But it also did things differently. For one thing, it built its own virtual machine, called Dalvik. For another, it drew upon another open-source Java project called Harmony for Android’s class libraries. Harmony, whose backers included IBM, is governed by the Apache License — Google’s favored open-source license and one that lets people mix open-source and proprietary software without consequence.
Sun squawked about Google’s Java-esque but not exactly Java move, but Google didn’t budge. And it made it clear it wasn’t going to try to label anything with the official Java brand. If nothing else, it seems unlikely that Google would have been able to accomplish what Harmony couldn’t: to persuade Sun to grant use of the Java Technology Compatibility Kit (TCK) that would guarantee Java programs worked properly.
In essence, Google sidestepped Sun — and by the way managed to build its Java knock-off into the stunningly successful foundation for smartphone programs that Sun only dreamed of.
So what’s Oracle doing about it?
One possible instance of direct copy-and-paste programming from Oracle’s Java to Google’s Android is a tiny fraction of the overall Android project, Google argues.
Oracle argues that Google should have paid a license for Java and that it’s damaged Java by fragmenting it into an incompatible version. That undermines the write-once, run-anywhere promise and devalues Java, Oracle argues. As a motivational stick, it’s asserting Google violated both patents and copyrights.
Google clearly considered a range of licensing options, judging by many e-mails introduced as evidence (PDF), and indeed even kicked around one dramatic possibility in 2009: “Google buys the rights to Java from Sun (patents, copyrights, etc.),” perhaps for $100 million to $500 million.
But the companies couldn’t come to terms. Thus, Oracle CEO Larry Ellison and Google CEO Larry Page were called as witnesses.
To make its case, Oracle has a number of arguments. One is that Google copied actual source code in the case of a Java function called RangeCheck. Joshua Bloch, a Google programmer who formerly worked for Sun, had this to say about the function, part of Android’s TimSort library:
Q. Do you have a recollection of accessing Sun code while you were working on TimSort?
A. I don’t have a recollection, but I’m perfectly willing to believe that I did. You know, I think the similarity of the signature, the fact that, you know, the three arguments are in the same order and have the same name, you know, is a strong indication that it is likely that I did.
The class libraries enter more broadly with Oracle’s claim that the APIs themselves used to access those libraries are copyrighted.
Oracle argues that the APIs aren’t merely gateways to pre-written code, but actually a work unto themselves. The APIs collectively are carefully designed to work properly together, and the design of an individual API and its corresponding class library are essentially two sides of the same coin.
For its part, Google argues that its libraries are indeed different — a “clean-room implementation,” in computing industry jargon, meaning that the code was written without reference to the original whose abilities it’s reproducing. Of the RangeCheck example, Google points out that it’s only 9 lines of code among 924 in the larger file and among 15 million in Android overall.
Oracle also is gunning for Google on patents. It originally asserted Google infringed on seven, but five of them were thrown out, so now it’s down to two.
Software copyright is complicated, API copyright is uncharted water, and patents are a thorny business for any industry. The jurors in the U.S. District Court in San Francisco will have plenty of work to do.
Oracle makes the case that Java’s application programming interfaces aren’t just a means of using pre-written software, they’re actually a copyrighted work unto themselves that Google copied.
Oracle’s slideshow alleging how Google copied Java (images)
Article source: http://news.cnet.com/8301-1001_3-57417144-92/android-java-and-the-tech-behind-oracle-v-google-faq/
Tags: API, GPL, Java Standard Edition, Micro Edition, Sun Java, Sun Terrence Barr