Science Commons

James Boyle gives a very interesting talk on Science Commons, which is a project within the Creative Commons movement which strives to remove unnecessary legal and technical barriers to the sharing of scientific materials in order to facilitate collaboration and innovation. Boyle gave another similar talk about 7 ways to ruin a technical revolution, and its well worth listening to both of these talks.

Science Commons was launched to expand the Creative Commons mission into the scientific … all » realm. James Boyle will be talking about two Science Commons projects: The Neurocommons and the Materials Transfer Project. The Materials Transfer Project uses standard machine readable licenses so that one day sharing biological materials between labs might be as easy as buying books from Amazon. If these words weren’t forbidden at Google, he’d describe the Neurocommons as a first draft of an open “semantic web” for neurology. The overall goal is to take some of the ingenuity we devote to allowing teenagers to flirt with each other online, or people to share and find mashups, and use it to reduce the transaction costs of science and make it selfishly beneficial for scientists to share more, and more easily.

Google Research Talk: Semantic Web

Google have recently launched http://research.google.com that will provide information on research activities at Google. There’s a series of video talks that are associated with these research activities.

This is a talk by Eyal Oran, Sebastian Kruk and Stefan Decker entitled “Semantic Web”.

Our development group has been doing a lot of semantic web related work here at Talis, in fact we have built a semantic web platform that we have built several applications upon, so the entire research area is something we are all very passionate about.

The talk covers some of the basic principles of the Semantic Web but also takes about FOAF, RDF and introduces ActiveRDF:

an object-oriented API for managing RDF data. ActiveRDF can be used with different RDF stores and integrates with Ruby on Rails. An addition to ActiveRDF is BrowseRDF, a faceted metadata browsing library. Faceted browsing is a natural technique for navigating that graph. We developed an expressive faceted interface that allows navigating arbitrary semi-structured data and formally show the improvement over existing interfaces.

I found the talk quite interesting, and it’s given me a fair bit to think about.

Microsoft adds copyrighted books to its Live Search

Microsoft has added copyrighted books to its online library, stating it has permission to offer the works t searchers on the internet .  They have made deals with with authors and publishers to include their works in the Live Search, and in doing so Microsoft have managed to sidestep the controversy that Google initially triggered when they began their book digitising project to offer the worlds written works online.

User’s have to log into Live Search in order to read the content online, it appears that user’s can only read a certain number of pages and the software keeps track of how many pages visitors have read online for free. Most of the searches I have performed allow me to read 10% of the pages in any Copyrighted book that I’m browsing. I actually find this far more useful than simply being able to browse the table of contents or view selected extracts as one can in Google’s Book Search. This enables me to make a more informed decision as to whether I want to go and buy the book, and also, if im just searching for the answer to a question or need to read up on a chapter on some specific subject, I can read those bits for free online which probably will mean I wont need to go out and buy the book.

Amongst the publishers who have agreed to allow this type of access to their materials are Simon and Schuster, Mcgraw-Hill, Rodale and Cambridge University Press. Microsoft obviously provide direct links to where the books you are reading online can be purchased from. It’s an interesting move by Microsoft when you consider that Google’s wholesale scanning of copyrighted works in library collections will give it a larger database of books, but by working with publishers and obtaining their permission, Microsoft is seemingly able to offer a better experience to users.

Google Gears – Building Offline Web Applications

Google has released Google Gears, a new technology that is designed to overcome the single major drawback all web based applications suffer from: they don’t work without an internet connection! Google Gears is an Open Source framework, which is essentially a browser extension that is powered by JavaScript API’s that enable data storage, application caching and multi threading technologies for offline browsing and application use.

I don’t find it at all surprising that Google have invested heavily in trying to find a solution to the problem of we can use online web based applications offline. Although they launched Google Apps last year the take up has been quite slow, I read a few months back that the Commonwealth Bank has suspended a trial of Google Apps which it was thinking of rolling out to its 50,000-strong workforce, and many analysts insist that one of the major reasons for this is that there is no offline availability of these applications. Or as Carl Sjogreen, Google Senior Product Manager, sums the problem up when says:

As more and more people are depending on web applications to manage their lives and get information about what’s going on, it becomes and increasing problem when you can’t access those applications when you’re offline.

Enter Google Gears! this new technology certainly strengthens Google’s  position in going after Microsoft’s lucrative Office franchise, which makes commercial sense, More importantly though the technology actually makes the web and browsers a more attractive platform for building applications that can be used anywhere, anytim regardless of whether you have a connection to the internet or not.

Or as Eric Schmidt, CEO of Google, put it:

With Google Gears, we’re tackling the key limitation of the browser in order to make it a stronger platform for deploying all types of applications and enabling a better user experience

There decision to Open Source Gears is also quite an important one. By making the technology Open Source from a relatively early stage Google are inviting others to help improve the technology and build a community around it, and move towards developing with others an industry standard for these hybrid programmes that work both online and offline.

This is quite an exciting development.

Google Launches "Streetside View" and "Mapplets"

Google have revamped their 2D Maps with a new a feature they are calling Street View. When viewing maps of certain cities around the world you’ll get a street side view of the area your currently in, and it isn’t static! You can interact with the image to move along the street it even allows you to change your angle and move in a new direction.  Google have developed this new technology with Immersive Media, and all I can say is, it’s very very impressive.

If you want to try it out here’s a map of San Francisco that has side views, and here’s a map of Las Vegas , I really recommend trying it!

Google have also launched their new Mapplets service. Mapplets are a special kind of XML/Javascript based Google Gadget that you can add directly to Google Maps. Here’s a link to a special preview page where you can try out a handful of Mapplets. The official blurb from Google on this new feature is copied below:

Mapplets enables third party developers to create mini applications that can be displayed on Google Maps, much like Google Gadgets are displayed on iGoogle. These Mapplets contain a variety of information, from housing listings to crime data, and tools like distance measurement. Users can select from a wide range of Google and third party Mapplets to display on the Map, essentially creating their own “mashup of mashups” directly on the Google Maps site, while still enjoying the built-in functionality of Google Maps, such as local search and driving directions. A number of our partners, including WeatherBug, Booking.com and Platial have already created Mapplets.

Google New Experimental Search Features

http://www.google.com/experimental/

Google have come up with a set of experimental new search features aimed at improving the search experience. I’ve been playing with them and have to admit they are really cool!

The first is the ability to view search results on a timeline or on a map. Google do this by extracting dates and locations from the search results so that the information can be viewed in a different way.

For example a search for Olympics, and specifying a map view plots the locations the event has been held in on a map. Whilst searching for information on the civil rights movement, and specifying a timeline view will highlight key dates and events on a timeline.

The next new feature, is the enabling of keyboard shortcuts to navigate around search results. After initially using this, I can’t stop! A small arrow is rendered next to a search result, pressing the ‘J’ key moves to the next results, whilst pressing ‘K’ moves to the previous. You can open a search result by pressing ‘O’ or just hitting enter. You can also press ‘/’ to have the cursor jumpt to the search box, whilst ‘ESC’ moves the cursor out of the search box. Try it for yourselves here, it’s really easy to use and if your like and means you dont need to use a mouse at all to navigate around search results.

Another new feature is the addition of facets to search results, ( which Google oddly refer to as left hand navigation? ). Basically the left hand pane lists a set of groupings, for example content type, patents, products, news etc. The left hand pane also list’s a set of related searches. Together both these bits of information allow you to narrow your search, in order to find whatever it is your looking for, hopefully, quicker. This feature is also available on the right hand side of the screen.

It’s encouraging to see that Google are trying very hard to improve search, not only by providing mechanisms that should enable ordinary users to get to the content they are interested in faster, but they are also thinking about how to improve the experience. The keyboard shortcuts, whilst on the face of it might look simple, actually increases your productivity because you don’t need to interact with a mouse at all.

I’m impressed.

Google Tech Talk: Away with applications: The death of the desktop

The computer desktop metaphor is ubiquitous, but how much work do we get done there? None! … all Time is entirely wasted navigating or shuffling content to the application in which we can finally work. What lessons can we learn from designing interfaces without the desktop and without applications? Is it even possible? And how does this apply to the Web? Currently, Web applications are often more usable than their desktop-based counterparts because each one does one thing and does it well.

Aza Raskin gives this excellent talk which is really about human computer interaction and usability. For those who don’t know Aza is the son of Jeff Raskin the guy who started the Macintosh project at Apple.

Aza’s offers some very useful views on User interface design, he touches on GOMS Models, Cognetics, Habituation in a wonderfully easy to follow manner. In this talk he outlines how we can get rid of the application centric model which comes from the desktop design paradigm in order to free functionality that can be made accessible using a ZUI along with a universal method for accessing functionality.

Applications are like walled cities that hoard their functionality, but we need to give that functionality away so others can use it wherever they are. But to facilitate this Aza argues that we need a universal access interface. Web services give you a separation between the UI and the Data but up until now services are really available to developers, they’re not really intended for end users but can we expose them through CLI’s?. He proposes a synthesis between GUI’s and CLI’s and from what he says they’re having a great success some of the examples he shows are compelling. I for one can see the value of this. In fact we’ve already put it into practise about six months ago.

You see this was something Rob and I thought about when we developed Project Cenote, one of the features of the user interface is that the browser’s URL line is an interface in its own right. For example if you type this into the url line:

http://cenote.talis.com/author/gemmell

And the application will perform a search for all items that were authored by “gemmell”. So if your like me and you just want to get to the content your interested in you can use this as opposed to navigating around the site and entering search terms into a search box. It is basically a Command Line Interface, and I think this is a wonderful way of giving end users access to content without necessarily forcing them to always use a GUI.

I was amused when one Aza paraphrased Asimov’s Three laws of Robotics into Raskins Rules of Interfaces:
1. An interface shall not harm your content or, through inaction, allow your content to come to harm.
2. An interface shall not waste your time or require you to do more work than is strictly necessary.
3. An interface shall not allow itself to get into a state where it cannot manipulate content.

This is a great talk to listen to and full of some very useful tips.

Google Tech Talk : Flex, Flash and Apollo for Rich Internet Applications

ABSTRACT: James Ward, engineer and evangelist for Adobe’s Flex, Flash and Apollo technologies, will demonstrate their use for very rich user experiences in internet applications. Topics covered will include ECMAscript, the recent open source donation of the scripting engine to the Apache Tamarin project, Apollo (the standalone execution environment for running desktop applications written in flash and HTML) and much more

Google Tech Talk: Faith, Evolution and Programming Languages

Faith and evolution provide complementary–and sometimes conflicting–models of the world, and they also can model the adoption of programming languages. Adherents of competing paradigms, such as functional and object-oriented programming, often appear motivated by faith. Families of related languages, such as C, C++, Java, and C#, may arise from pressures of evolution. As designers of languages, adoption rates provide us with scientific data, but the belief that elegant designs are better is a matter of faith…

This is a wondeful talk by Phillip Wadler from the University of Edinburgh, he’s one of the individuals responsible for getting Generics into Java 5, and has worked on Haskell and very heavily on the development of functional programming languages throughout his career.

It’s suprising how well the evolution vs faith analogy applies to the way in which we, as developers, often adopt programming languages. For some reason the talk made me remember the old Java vs .NET arguments which were less about rationale differences in the semantics and philosophy of the programming language and more about which camp you belonged to and your unswerving faith and loyalty to it. In fact thats a poignant example of when multiculturalism went out of the window and fundementalism was very much in fashion.

The talk also provides a fair amount of history around some of the issues that polorised language designers, static vs dynamic typing, for example. I found this provided some wonderful background that I was never aware of.

If your interested in Programming Languages, their adoption and their evolution over time then this is a fascinating, and unique, talk that you should really watch.

Google Tech Talk: Java on Guice: Dependency Injection, the Java Way

Here’s a really interesting talk about how to use Guice, a new open source dependency injection framework for Java by Google. Here’s a link to the user-guide which explains, using a example, why Guice might be a great alternative to using static references, or factory patterns when writing unit tests. I haven’t used Guice yet but i have written many unit tests for services that need to pass in Mocked services using the factory pattern, so I can immediately see the benefit of a framework like Guice.

I’m going to delve deeper into it, but I recommend watching the tech talk, they work through a simple example and it does sound very useful.