Introducing Krellian, Webian's New Sponsor

Reposted from webian.org

Firstly, thanks for the incredible continued contributions from the Webian community and for all the work you've done on Webian Shell, which has now had more than 95,000 downloads!

Introducing Krellian

This week I left my job as Product Manager of Clinked at Rabbitsoft to start a software consultancy called Krellian.

Through Krellian I will be able to continue to lead the Webian project, and I will also be taking up a new contract with the Mozilla Corporation to work with them on Boot to Gecko (B2G).

Like me and the other members of the Webian community, Mozilla believes that the open web can displace proprietary, single-vendor stacks for application development. The B2G project will include prototype APIs for exposing device and OS capabilities to web content, a privilege model to safely expose these new capabilities, a complete "low-level substrate" for Android-compatible devices and a collection of web apps to prioritise and prove the power of the platform.

Benefits to Webian

The potential benefits for Webian are enormous. Webian Shell was already hitting limitations of what is currently possible with Mozilla Chromeless and this new work on the core Mozilla platform promises to make many more of Webian's goals possible. While B2G initially focuses on the mobile space, Webian can focus on nettop and netbook form factors and perhaps eventually the two projects could even converge.

Sponsorship from Krellian will provide the ongoing resources necessary for running the Webian project and ensure that it remains free and open source.

I'm excited about this new chapter in Webian's story and believe more strongly than ever in the future of the open web.

Keeping Web Apps Open

Reposted from webian.org

The Universal App Platform

The best thing about web apps is that they can run on any platform. This is because they use a set of open standards which are universally supported. The latest incarnations of these standards like HTML5 and CSS3 are more powerful than ever and it seems inevitable to me that the web will eventually win out as the open, universal app platform.

The current generation of popular desktop operating systems like Windows 7, OS X and Linux and mobile operating systems like iOS, Android and Windows Phone treat web apps as second class citizens, inferior to their native platform-specific counterparts. But that's all set to change.

Microsoft Windows 8, Google Chrome OS, The Linux Foundation's Tizen and Mozilla B2G will all join Webian in putting web apps centre stage, as the preferred category of app on their respective platforms.

Fragmentation

Thanks to HTML5 and related standards web apps are already pretty powerful, but there is still some way to go before web apps can do everything that native apps can do. On mobile platforms new APIs are needed for access to telephony, messaging and cameras for example, and some kind of "app store" style distribution and installation mechanism is likely to be needed to provide a more app-like experience. "Installing" a web app is a little like bookmarking a web site and can provide an opportunity for the app to ask the user for all the permissions it needs up-front, download any resources which will be needed for offline use and perhaps add an shortcut icon to an app list.

Because there aren't currently established standards for all of these features, each platform is intially rolling its own approach. Apps for Chrome OS can only be found via Google's own "Chrome Web Store", you have to have a Google Account to install them and many of the apps found there will only work in Chrome. Windows 8 will have a set of APIs for its new Metro user interface, but apps written for Metro won't necessarily work on other platforms. We don't yet know much about Tizen, but previous mobile platforms like HP's WebOS and the MeeGo Web Runtime have also had platform-specific APIs.

An Open Approach

Mozilla is also working on a new set of web APIs, but in line with their mission of promoting openness on the web they're doing so in a more open way. You can see the progress of their APIs for telephonymessaging (SMS), batteryvisibilitysettingspower management and contacts on Bugzilla. These new APIs on Mozilla's core platform are the first step towards a new mobile OS from Mozilla called B2G or "Boot to Gecko". B2G will have a highly customisable UI built entirely with web technologies and will allow for the installation of Open Web Apps, as proposed by Mozilla Labs. With Open Web Apps, anyone can run their own app store or directory and the aim is to create cross-platform installable web apps.

Mozilla is also collaborating with Google on "Web Activities" or "Web Intents" which could provide a standard mechanism for apps to call other apps for certain functions. This collaboration is a promising sign because Mozilla can not define standards on their own and will need to co-operate with other browser & OS vendors.

Towards Standards

There are already standardisation efforts in this area at the W3C such as the Device APIs Working Group and the Widget Packaging and XML Configuration recommendation, but W3C recommendations are not always in line with what the implementors (browser & OS vendors) are doing.

For example, W3C Widgets provide a mechanism for installing a "widget" locally on a device by packaging up all of its resources in a zip file, including an XML manifest file. The specification was used for widgets in the Opera browser but when the MeeGo Web Runtime tried to use it as a method of installing fully fledged web apps it didn't work out very well.

Mozilla and Google are taking a different approach to installable web apps, both choosing to use a JSON manifest file and rely to a large extent on HTML5's offline capabilities for caching and updating offline resources. Even these two similar implementations have subtle differences which make them incompatible with each other so there's a real need for standardisation in this area if we're to have cross-platform installable web apps.

Hosted vs. Packaged

One slightly odd trend in the standardisation of "web apps" is the tendency to focus on "packaging" apps rather than "hosting" them. This seems to be an attempt to emulate the way mobile and desktop apps currently work by bundling up all of the app's resource in a "package" which is downloaded and installed locally. The whole package then needs to be updated every time any of the resources change. This seems odd to me because this isn't the way the web usually works and it doesn't seem very web-like at all.

The fact that an individual resource can be identified by a URI is what makes it a part of the web, so to package resources up in one big bundle to be downloaded and used locally seems to break the web paradigm and therefore these apps are not "web apps" in my view, just apps downloaded over the web. This is how W3C widgets work and it's also how Chrome "packaged" apps work and seems to be the direction of the Wholesale Apps Community, the EU funded Webinos project and the Native Web Apps community on the W3C web site.

For an app to be part of the web, I think all of its resources (HTML, CSS, JavaScript, images etc.) must be identifiable by a URI. Resources which are needed when operating offline can be marked as such in an HTML5 cache manifest, which then also provides an automatic update mechanism when these resources are changed. This maintains one of the great characteristics of web apps which is their ability to be updated seamlessly with new features and bugfixes without the user having to manually upgrade to a new version. Mozilla Open Web Apps seem to work in this way, and so do Chrome's "hosted" apps.

Conclusions

It seems that web apps will be the preferred category of apps for a whole new generation of operating systems, but in order for these web apps to remain cross-platform new open standards must be agreed upon for APIs which give web apps all the power of native apps.

A mechanism for the discovery, installation and updating of hosted installable web apps and a trust framework which allows for secure open distribution is also something which I think desperately needs standardisation if the vision of a universal open web app platform is to be realised.

Webian Shell – Past, Present and Future

Reposted from: webian.org

Webian Shell was announced last week and the response has been incredible, already more than 60,000 people have downloaded the prototype and it’s caused a bit of a stir in the blogosphere and tech press.

I thought I’d post an update to explain a bit of background to the project, talk about the buzz surrounding the Shell prototype, summarise the amazing feedback I’ve already received, answer a few frequently asked questions and set out a roadmap for the future.

Sorry this blog post is so long but I didn’t have time to write a shorter version.

Background

First, some background on the project’s origins.

  • 2006 – An idea for a full screen web browser which could replace the traditional desktop environment and window manager and take advantage of emerging web standards for graphics, audio, video and voice.
  • 2007 – An experiment to implement that idea using Mozilla’s XUL markup language and XULRunner platform, then some funding to try and turn this and other ideas into a business plan.
  • 2008 – Discussions with colleagues during my internship with Google who encouraged me to take it further.
  • 2009 – I released a design concept with a series of static mockups to explain the idea better and my friend Sam starting hacking on a Python/Webkit/GTK version, then shortly afterwards Google announced Chrome OS which was a very similar idea. Google seemed to be doing a better job of it than I could, so I switched my attention to another of my long running ideas, a home web server.
Webian screenshots since 2006

When some old colleagues from Google got in touch to tell me that the company had just announced something very similar to my idea, I felt I couldn’t possibly do a better job than Google so there wasn’t much point in continuing. I was impressed by their focus on speed, their innovative security model and their work with netbook manufacturers to achieve tight hardware integration.

But then towards the end of 2010, Mozilla Labs announced the Chromeless project which allows you to build desktop applications using web technologies (HTML, CSS & JavaScript) and the Open Web Apps project which proposed a more open model for web app stores than the approach taken by the Chrome Web Store.

This inspired me to start working on the concept again for two reasons. One was that I could now rapidly prototype the software using all the power and flexibility of web technologies themselves. The other reason was that I was inspired by Mozilla’s vision of a more open ecosystem for web apps which wasn’t dominated by one vendor with a single shop front. Surely if there’s room in the marketplace for more than one browser and more than one web app store, there is room for more than browser-based OS.

With Chrome OS, every user has to have a Google Account, they can only “install” web apps from Google’s Chrome Web Store and they can only use hardware approved by Google. With Webian I wanted to try a more open approach where you don’t need an account with a single vendor to log in, you can choose to install apps from multiple app stores or direct from vendors and you can choose from a wider range of commodity hardware like netbooks and tablet devices.

So towards the end of last year I started working on a prototype of the user interface in my spare time based on my design concept from 2009. With a bit of help from the Mozilla Chromeless team, 6 months later I had Webian Shell 0.1. Mozilla Labs invited me to write a guest blog post about my project and suddenly, five years after starting to work on the idea, the project started to get a lot of interest.

Buzz

Day One

In the first 24 hours after the Mozilla blog post, the Webian Shell 0.1 prototype had been downloaded 3000 times. My web server started to struggle with the load so I got in touch with my hosting company late at night and they were able to upgrade the server to cope with the demand within an hour.

Blogosphere

Then the news started to spread in the blogosphere and twittersphere. I saw blog posts in English, German, Italian, Greek, Czech, Polish, Spanish, Japanese, Chinese, Phillipino, Arabic, Portuguese and Bulgarian! I also got contacted by a news agency in Germany and the news started to spread around European technology news sites like golem.de and pressetext.

Tech Press

Then we got slashdotted. That’s when things really started to take off. Webian Shell was featured by Engadget, Gizmodo, Techworld, PC World, PC Advisor, IT Pro Portal, Reddit, Ostatic, The H, Conceivably Tech and others and hits on the web site soared.

Following

The aim of the initial prototype was to convey the basic idea behind the project and capture peoples’ imagination and I think it worked! As of today, Webian Shell 0.1 has been downloaded more than 60,000 times! The web site has had over 55,000 visitors from 163 countries, the announcement video on YouTube has been watched 45,000 times and the project has assembled quite a following on Twitter, Facebook and the Google Group.

Feedback

Best of all are the 120+ responses (ideas, questions, problems and praise) which have already been posted on the feedback page. Sam has been helping me try to get through them all and start to list all of the feature requests and bug reports on the project tracker, with a view to putting together a roadmap.

This feedack falls into a few categories:

As well as feature suggestions and bug reports we’ve already seen other awesome contributions in the form of UI mockups and code. I’d like to put in place better tools and processes for accepting these valuable contributions (see below).

Frequently Asked Questions

There are a few questions which keep coming up, and some misconceptions which have become quite widespread which I’d like to address here.

Is Webian a Mozilla Project?

No. A lot of headlines for news articles which talk about Webian Shell incorrectly state that Webian is a Mozilla project. Webian Shell is built on Mozilla Chromeless from Mozilla Labs and was featured on the Mozilla Labs blog but it is an independent project.

Members of the Mozilla Chromeless team were a huge help in getting Webian Shell 0.1 off the ground and I definitely hope that this collaboration will continue. Mozilla Labs experiments demonstrate a huge range of innovative ideas which could be incorporated into the Webian project.

Is Webian a clone of Chrome OS?

No. Webian Shell has been in development under different names since at least 2006 and was designed independently of Chrome OS. However, Chrome OS has gone a long way towards validating the concept of a brower-based OS and I hope that both projects will be able to learn from each other and even co-operate in the future.

It’s a little premature to compare Webian with Chrome OS because so far all that has been released is a simple JavaScript prototype of a user interface which piggybacks on your existing OS, Chrome OS is an entire operating system with an ecosystem of apps, an innovative security model and partnerships with hardware manufacturers.

Is Webian a derivate of Debian?

No. At least not yet. The long term goal of Webian is to create an operating system dedicated to hosting and using web applications. That may well be based on Debian but that isn’t decided yet.

The name “Webian” is derived from “web” (the shortened form of “World Wide Web”) and the english suffix “-ian” (meaning “of” or “belonging to”) – therefore “Webian” means “of or belonging to the World Wide Web”. The similarity is largely a coincidence and currently there is no relationship between the two projects. That may change in the future.

Is Webian just a graphical shell?

No. Webian Shell is a graphical shell dedicated to the web and forms part of Webian, but Webian has broader goals.

WIll I be able to run desktop applications using Webian?

No. Running desktop applications is beyond the scope of the project. Webian is aimed at people who spend the vast majority of their time on their computer using the web, and therefore don’t really need a traditional desktop environment.

If you don’t feel you’re ready to part with all of your desktop applications then that’s fine, perhaps in future you could dual boot Webian with your desktop OS, or use Webian on a secondary device (like a netbook or tablet) which is used exclusively for the web.

Jolicloud is another project which lets you run web applications and desktop applications side by side which might interest you.

Will Webian be runnable in windowed mode?

No. The whole point of Webian Shell is to replace your desktop environment and window manager with a full screen interface dedicated to browsing the web, it isn’t intended to be run alongside other desktop applications. If this is what you’re looking for then I’d advise a desktop web browser like Firefox or Chrome.

Is Webian open source?

Yes. Webian Shell is licensed under the GPL and one of the key principles of the Webian project is to support open source and open standards.

A list of FAQs will be maintained here.

Future

0.2

In the 0.2 release I’d like to focus on fixing bugs and implementing some obvious features.

Bugs:

Features:

0.3

The features for 0.3 are open for debate, but I’d really like to start looking into integrating Mozilla’s Open Web Apps.

1.0

I’d like to start mapping out a roadmap to a Webian Shell 1.0 release, and then a roadmap for a Webian OS which comes bundled with Webian Shell as the front end.

To me Webian Shell 1.0 should be good enough to be a drop-in replacement for Gnome or KDE on Linux which allows you to use web sites and web apps, but also do basic operating system functions like changing system volume, configuring displays, configuring network devices etc.

I think it’s unlikely that we’ll be able to implement all of these features in a cross-platform way, but it would be nice to keep maintaining an app which can run on Windows and Mac for people to try out if possible.

Webian OS

Later I envisage a stripped-down Webian Linux distribution which boots up quickly and uses Shell as its front end. My current preference is to base this on Debian, but that is up for discussion.

Community

At the moment, the Webian community is fragmented across Twitter, Facebook, Identica, YouTube, GetSatisfaction and Google Groups. I’d like to create a more central place for all of these people to go to communicate, collaborate and contribute to the project.

It’s also currently not very easy for people to contribute content like UI mockups and code contributions. I’m open to suggestions on how to achieve this but these are a couple of things I’d like to try.

Clinked Group

I’ve set up a group on Clinked for the Webian Community so that people can sign up to create wiki pages, hold discussions, manage tasks, schedule events and share files. I’d encourage everyone to sign up!

Disclaimer: I’m the Product Manager for Clinked so I’m a little biased towards it.

Github

I’d like to start accepting code contributions via Github in the form of pull requests and use it instead of Trac and Subversion.

Thank You

Finally, thank you. Thank you to Lloyd Hilaiel and Marcio Galli from the Chromeless project for all their help developing and promoting Webian Shell 0.1. Thank you to Sam Black for helping me sort through all the user feedback.

And thank you to you, our new community, for all your help spreading the word and for sharing all of your ideas. I’m blown away by the response we’ve seen and I’m really excited about the future of the project and what we can achieve together!

Announcing Webian Shell 0.1

(Reposted from the Webian blog) Webian Shell is a full screen web browser for devices that don't need a desktop. As of today you can download a prototype which you can try for yourself.

A Graphical Shell for the Web

If you’re anything like me then you’ll find that most of the stuff you do on your PC these days happens in a web browser and the desktop environment you used to depend on is now just getting in your way. Modern web applications can do just about everything traditional desktop applications can do (like flashy graphics, sound, video and offline storage) so often all you really need is the browser. The idea of the Webian Shell project is to replace your computer’s interface with something much simpler, which treats web applications as first class citizens and does away with all the un-necessary clutter.

Rapid Prototyping with Mozilla Chromeless

Shell started as a simple design concept with a few static mockups, but when Mozilla Chromeless came along it was suddenly possible to rapidly develop a working prototype using standard web technologies like HTML, CSS and JavaScript. As a member of the wider Mozilla community this was an opportunity I couldn’t resist so I quickly got to work on putting together a prototype using the technologies I already knew from web development. This initial early release really just gives you a minimalist, full screen, tabbed web browser with a clock and a rather empty looking home screen. I hope this is enough to convey the basic idea behind the project and that with the open source community's help we can quickly iterate this prototype to encompass lots of exciting ideas about what living on the web could really be like.

Future Directions

These are some of my ideas for future directions to take the prototype, but I’d love to hear your ideas.

  • Home screens – instead of a desktop, Shell could have multiple home screens like you see on mobile devices, but containing web widgets and icons for “installed” web apps. See Mozilla’s Open Web Apps project for some inspiration.
  • Hardware controls – any graphical shell for a hardware device needs the ability to monitor and control hardware for things like sound, network, GPS, battery etc.
  • Zoomable tiled window manager – zoom out to a view of all currently loaded web pages (like Panorama in Firefox or Expose in OS X), then zoom in to the page you want.
  • Split Screen – view two pages side-by-side
  • On-screen keyboard – for touch-screen devices like tablets.

Download the Prototype

You can find out more on the Webian web site or go straight ahead and download and install Webian Shell 0.1 on your Mac, Windows or Linux computer today. I’d really love to hear your feedback! You can propose ideas, report bugs and ask questions on GetSatisfaction, or join the Google Group to take part in the conversation. You can also follow Webian on Twitter or Identi.ca, like it on Facebook and check out the channel on YouTube.

My Chromercial

Some Google Chrome engineers uploaded a video they called a "Chromercial" to promote Chrome OS, much to the marketing department's dismay! They asked for video responses where you give your own take on Chrome OS.

You can watch my video response on YouTube here.

View the video on YouTube 

I originally created the artwork I used in this video for my "Graphical Shell for the Web" design concept which basically portrays the same idea as Chrome OS (but was published before Chrome OS was released!)

I created the artwork using Inkscape and put the video together using PiTiVi. I used Creative Commons licensed music and sound effects and licensed the video itself under a Creative Commons Non-commercial Sharealike license so you can remix & share it as much as you like. You can download the source png slides and sound files (along with the completed video in ogg format) here (I also have the SVG source of the images if anyone wants it).

 

Installable Web Apps

When I first heard about Google's and then Mozilla's concepts of "installable web apps" I was a little dubious. Surely the whole benefit of web applications is that they don't need to be installed!

But if you think of installable web apps as a convergence of the "app store" and "cloud computing" models (arguably the two most significant trends in the software industry today) it actually makes quite a lot of sense.

The diversity of different software platforms available for smartphones, tablets, smart TVs and PCs is great for encouraging competition and driving innovation – but it also causes problems for both app developers and consumers. An app written for Apple's iOS for example will not run on Android, Blackberry OS, WebOS, Meego, Bada, Symbian or any other competing platform. For consumers this is confusing and frustrating because unless they allow themselves to be locked in to a single vendor they may have to re-purchase different apps for different devices. For app developers it's even more frustrating because they're faced with a bewildering array of platforms to target their software at.

Web applications have different problems with limited discoverability and access to hardware. To a web browser web applications are no different to any other web site which means that the apps can easily get lost in the ocean of content on the web. Web apps also traditionally have very limited default access to client-side hardware for security reasons which limits their capabilities when compared to native applications.

Installable web apps can combine the best parts of web applications (the benefits of cloud computing and accessiblity from any device) with the best parts of the app store model (easy distribution and discovery of software which has full access to the device's hardware). This new breed of apps could leverage web technologies to reach the whole range of competing platforms with a single application which can be distributed via a range of competing app stores. By "installing" a web application the user can pre-approve access to local hardware like offline storage, accelerated graphics and geolocation to allow the app to make the most of the hardware it's running on and the user can keep a local repository of all the applications they use.

Both developers and consumers only have to worry about one kind of application running on one open platform (the web), but still have a choice of hardware and app stores. In this model the only people who lose out are the corporations who seek to lock consumers into their own products and services.

It could take a long time for installable web apps to become the predominant model of software distribution, but the idea of converging cloud computing with the app store model makes the idea very appealing and might go some way to explaining why Google currently has both the Android and Chrome OS operating systems in development. Each OS is approaching the convergence from a different direction whilst maximising on the market potential of what can already be done today.

I hope that standards for "installable web apps" can be agreed upon sooner rather than later so that if this model does become a growing trend, the new breed of apps will not suffer from the same fragmentation as other platforms do today.

Rise of the Smart TV

Reposted from webian.org 

Apart from netbooks, tablets and smartphones another key target device for accessing Webian Home Server will be TVs. With big players having recently announced their entries into the smart TV space, this blog post explores their different approaches and the unique challenges of designing for the TV.

Google TV

Many companies have tried to combine web and TV experiences before, but it's never really caught on. Google believes that their approach will be a success because they aren't trying to re-create the web for the TV or make you choose between the web or TV, instead they want to give you access to the whole of the existing web and all the channels you already receive, as well as allowing you to install apps from the Android marketplace all from one device.

Google TV

Google TV will allow all of this to be done via a 10ft interface with a remote control including a full QWERTY keyboard and pointing device. The software stack will include the Android operating system, Chrome browser, Flash and a new IP-based protocol to interface with DVR boxes allowing you search TV listings and schedule recordings.

Rather than a releasing a single Google branded device, Google has defined a standard hardware and software platform which will be implemented by multiple device manufacturers. Among the first will be an HDTV and BluRay player from Sony and a set-top box from Logitech which are expected this autumn.

Apple TV

Apple has recently announced the release of the latest generation of Apple TV which takes a very different approach to that of Google. The original version of Apple TV was released in 2006 but didn't prove to be a huge success. In the keynote announcing the new version, Steve Jobs explained that Apple had learnt a lot from the customers who did buy the original set-top device and that this time they think they've cracked it.

Apple TV

Apple's observations were that consumers want premium HD content delivered to their TV, but they don't want a "computer" on their TV or to have to manage storage on their TV or sync content with other devices. Their response is a new generation of Apple TV which is a smaller streaming-only device which streams content from other Apple products (iPod, iPhone, iPad or iMac) over the home network or from Apple's partners over the Internet with a rental model.

The new Apple TV is characteristically proprietary but well designed, with a slick custom UI for a closed list of tightly integrated online services. Apple has chosen a much simpler remote control with just a few buttons and opts for an interaction style much more familiar to TV users.

Boxee

Another smart TV option comes in the form of the Boxee Box from a small startup in the US. You can already download a beta of the Boxee software to your PC but with "Boxee Box", D-Link has manufactured a piece of hardware dedicated to using Boxee on your TV which is available to pre-order now.

The Boxee software has an interesting heritage (having been derived from the open source XBMC project) and has a great UI which is well suited to a 10ft interface. The remote control which comes with the D-Link device has a simple ordinary looking remote on one side, but you can flip it over to reveal a full QWERTY keyboard if you need it.

Boxee is pretty rich on features, it will let you stream films, TV shows, music and photos in a large variety of formats over your home network and adds a social dimension by allowing you to share what media you're viewing with your friends. Boxee will also have a Webkit-based web browser built in and is extensible through the development of apps.

YouView

Whilst big and small tech companies in the US launch their entires into the TV space, big media companies in the UK have been collaborating to create a new platform called YouView. YouView is billed as a replacement for the popular free-to-view TV "FreeView" boxes currently popular on this side of the pond.

YouView (previously codenamed Project Canvas) will provide the familiar digital TV channels but will also provide on-demand catch-up content from all of the major UK channels on your TV. YouView will also let you pause & rewind live TV, it will provide pay-TV options and will allow developers to create apps for the platform.

The BBC's heavy involvement in YouView is controversial with some other media companies who complain that the license fee funded corporation should not be using their resources to develop this platform which they argue damages competition for smaller players. Although the collaboration of so many large media and communications companies makes YouView a compelling choice in the UK, it doesn't follow existing standards common in Europe and the rest of the world.

Currently YouView is publicly little more than a collection of technical documents available on the web, but the first devices are scheduled to be launched in Q1 2011 and are likely to make a big splash in the UK.

Other Players

The products described above seem to have caught the attention of the media and blogosphere recently, but there are of course many other options out there. Other big players in this space include Microsoft's older Zune and Mediaroomplatforms for the XBox 360 games console and set-top boxes respectively and Samsung's own app platform for their high end TVs. There are also many open source projects like MythTV which provide a geekier way to create your own smart DVR.

Conclusions

The four different products described here take quite different approaches to the smart TV problem but also have similarities. I very much support Google's open approach but they could learn a thing or two from Apple's user experience, I'm really not sure a QWERTY keyboard and pointing device is going to catch on in the living room – the TV is not a PC. Boxee provides a compelling alternative but their app platform may struggle faced with competition from Android and others. YouView will be difficult to ignore in the UK but it provides yet another platform to develop apps for.

One thing all four have in common is the idea that the TV is for streaming content from other sources, not as the media centre for the home. The smart TV solutions presented here allow you to stream media from the Internet or from other devices like PCs, tablets and smartphones on the home network to your TV – but there is no central store for your whole media collection which can be accessed 24/7 by all of these devices.

If there was such a centralised media store then creating an app for every smart TV platform, mobile platform and tablet platform in order to access that media would seem impractical. The common denominator among all of these devices (with the exception of Apple TV which currently offers no opportunities for third party development) is the web, specifically HTML5. A single HTML5 web application hosted in the home could allow access to your entire media collection 24/7 from all of these devices.

Central Home Media Store

The challenge for such web applications will be to create a user interface which works well on such a range of form-factors – from a small multi-touch smartphone through to the 10ft interface of a smart TV with a simple remote control. This will require a new breed of applications which can be controlled in a variety of ways and can adapt to a range of different screen sizes. Some examples of these experimental new types of web applications are YouTube LeanbackGoogle Reader Play and Clicker but it's likely to take a long while for best practices to emerge.

With approximately 1 billion PC users, 2 billion mobile users and 4 billion TV users worldwide – web applications with the potential to support all of these devices would seem very compelling indeed!

This is why the Webian project will strive to create a graphical web interface which provides an enjoyable user experience across all of these form factors.

Webian Project Inception

A quick update on some foundations being laid for the Webian project.

The project scope has been set. Broadly this covers managing photos, music and videos but with some potential future directions and specific exclusions as well. Some very high level requirements have been developed for the first release with a focus on photo management.

The focus for the first release will be on making a really good job of photo management using a slick HTML5 interface. That includes uploading photos, organising them into albums, tagging them, subscribing to photo feeds, browsing and searching.

A simple initial architecture design describes an HTML5 interface served from a Django-based Python web application. The next step is to build some technical prototypes to explore some key technologies and UI prototypes to validate the key high level use cases. This will mark the end of the "inception phase" of the project and next will be the "elaboration phase" when the architecture design will be tested with a working architecture prototype.

Talking of phases, the project plan approximates the Agile Unified Process but with a particularly user-centered flavour. The AUP is kind of an Agile version of the heavyweight Rational Unified Process used in enterprise software development. The AUP is described as being "serial in the large, iterative in the small" and aims to take a lightweight, iterative approach to software development, but with the recognition of distinct phases of the project. I've chosen to experiment with this methodology to try and get the best out of both user-centered design and agile development. If it doesn't work, I'll switch to something else!

If you want to get involved in the Webian project then sign up to the mailing list and introduce yourself!

OStatus: Real-time Distributed Social Networking

The current popular breed of social networking services are closed networks which don't connect with each other. If a user from one network wants to connect with a user on another network, they generally have to sign up for an account with the second network. This inconvenience ultimately results in a few very large networks with an inordinate amount of control over peoples' most personal data and a lack of choice and privacy for users.

 

 

Current Social Networking Services
 
In 2007 I wrote about an idea for building a distributed social network using a collection of existing open standards. The idea was to allow for social networking functionality equivalent to services like Facebook, but in a more open way where users can choose their provider or host their own data, but still connect with each other. The result would be a "network of networks" connecting to each other with open standards and ultimately much more control and choice for the end user.
 
 
Distributed Social Networking

Things have moved on a little since 2007 and a new collection of protocols has now emerged to allow near real time publishing of "activity streams" which can be discovered and commented upon within a social graph in an open, distributed way. You can think of this as a Facebook news feed, but without Facebook. Users will be able to choose from a whole range of different social networking services (or even run their own), and connect with their friends on different networks. Your news feed can then aggregate information from all of the people you're following across a range of different networks, update you about what's going on in near real time and allow you to send a response from your network to theirs.

OStatus is a collective name given to a suite of existing protocols which make this possible. They include:

  • PubSubHubbub – Real-time publishing ("PuSH")
  • ActivityStreams – Represent social actions in XML with Atom
  • Salmon – "Upstream" comments and replies
  • Portable Contacts – Social graph and contact data sharing
  • WebFinger – XML representation of a user's identity in terms of the services they use
 

The OStatus standardisation process is just getting started to define how these existing protocols can work together, but sites like Google Buzz, StatusNet, WordPress.com, and Tumblr are already implementing some or all of the protocols.

There are lots of projects which are working on the idea of distributed social networking. One which has attracted a lot of attention in the press recently is Diaspora which was recently started by a group of four students from New York University thanks to funds raised with an online campaign. The Diaspora team hasn't released any code yet, but they have committed to supporting OStatus. There are many other similar projects, including but not limited to:

Hopefully OStatus and some or all of these projects can do for social networking what SMTP & Sendmail did for email, what HTTP/HTML and Apache did for document sharing and what RSS/Atom and WordPress did for blogging. If just some of these projects choose to support the OStatus group of protocols (some of them already have), then the social web will be a much more open place!

See OStatus.org and a presentation by Even Prodromou for more information.

Introducing Webian – Home Social Media Server

[Reposted from webian.org]

Hello, World! I'm Ben and I'd like to introduce you to the Webian project.

Desktop to Web

You may have noticed that there's a growing trend of web applications replacing desktop applications, a mass migration from the "desktop" to the "cloud". Web applications are great because you can access them from anywhere, on any web-enabled device and their networked nature means they can be more connected and social than their desktop counterparts.

Innovations in new devices like smartphones, tablets, netbooks and set-top boxes are providing us with exciting new ways of using the web, without needing to use a desktop PC.

 

 

A New Kind of Web

All of this innovation is building momentum around a new standard called HTML5 which is going to transform the web as we know it. Web applications of the future will be richer, more graphical, more interactive, will include high quality audio and video and may even work if you don't have an Internet connection. In other words, they'll have all the power of desktop applications but with all the benefits of the web.

 

HTML5

 

Host Your Own Data

At home I have a collection of documents, images, audio and video measuring in the terabytes. No commercial service will currently host this amount of data online for me at a reasonable cost and even if it would, I'm not sure I'd want to use it. I like the idea of having full control over my own data and I can store it pretty cheaply myself. However, I would like to be able to access my data from anywhere on any device, and enjoy the kind of user experience provided by the new breed of HTML5 web applications.

The great thing about the web is that it's so open. You don't have to be a large corporation or pay a license fee to host a web server, anyone can do it themselves using free software and a domestic broadband connection. However, it does currently require quite a lot of technical know-how and there aren't a huge number of useful web applications you can install yourself that the average web user might want to use.

Let's Make the Home Server Awesome

I've been running a Linux-based web server from my home since 2003 to allow me to access all of my data online, but really it's little more than a glorified file server. I'm starting the Webian project to build an open source social media server for your home with a rich HTML5 web interface. I want Webian to make it easy to access all of your media online from a range of devices like phones, tablets, netbooks and your TV.

I can't do this on my own. I need your help to design the best solution to this problem, make a great job of building it and then promote it so that everyone can benefit. If you share my vision, or you're just interested in hosting your own data online, visit webian.org today to learn more about this project and find out how you can participate.