Opera Unite

Hello Yusef, example Opera Unite application

, ,

Opera Unite developer icon

First class citizens

Opera Unite establishes your personal computer as a webserver. You are given a URL similar to http://devicename.username.operaunite.com/ You can have as many computers as you like, and each is linked to your username. This way people can find the real you. The unique you, physically on your own computer. Possibly at home, work, or at the coffee shop.

How it works

Once you have installed Opera and set up Opera Unite, you are online. People can visit your computer from any Web browser on any device. You can install any of the applications provided on http://unite.opera.com/ and share files, photos, serve music, host chats, receive files and more.

The applications we provide do a basic set of tasks, but the technology opens up distributed development opportunities for everyone. Instead of having one large and powerful server handling a million users, millions of users have their computers running and Opera Unite applications can harness that power.

How do I make one for myself?

We have created a Hello World example. This example uses the Yusef Library (short for Unite Server Framework). The package contains several important bits and pieces that we believe applications need as a base for themselves to stand on.

This includes:

  • Library Loader: A script that loads all .js files in the libraries folder, respecting dependencies and loading order.
  • Markuper: XML DOM based templating engine
  • Yusef: The framework handling all requests made to the application
  • Activity Stream generator: Atom Activity Extensions
  • Date Library: Human readable timestamps
  • Localization: Translating the application based on the visitors accept-language header
  • Resource fetcher: A wrapper for XMLHttpRequest for repeating requests.
  • etc...

In this Hello Yusef example, Yusef has been extended with the following plugins:

  • ACL Plugin: Access control, for the Visitor and Owner
  • UI Plugin: Attaching a common User Interface to all requests made to this application
  • Profile Sync plugin: To fetch the user status from the Home application, and display it in the current application
  • directConnection: To use a direct connection for file transfer, if possible. This is not used in the Hello Yusef example, but good to have.
  • etc...

This is the base we use for our applications, and we continually update each individual piece. The Hello Yusef example will be kept up-to-date, especially when it comes to security fixes.

Feel free to use this as a base for your own applications, and if you find any bugs or fixes - please feel free to report them! All your input are important to us!

User Experience guidelines when developing Unite applicationsOpera Unite, out in Final !

Comments

Tamil Monday, November 16, 2009 2:34:13 PM

up

Krishnankrishnan Monday, November 16, 2009 2:45:15 PM

Cooooooool up cool

Andrew Fatmanfatman Monday, November 16, 2009 2:49:47 PM

Cool!

Cristiancristianer Monday, November 16, 2009 2:50:05 PM

Nice!!!!....bigsmile

Ide StoutjesdijkCrimi Monday, November 16, 2009 4:39:48 PM

yes

Charles SchlossChas4 Monday, November 16, 2009 4:44:46 PM

up

lucideer Monday, November 16, 2009 7:39:36 PM

Originally posted by Gautam Chandna:

Markuper: XML based templating engine


Markuper was originally HTML based - has it being updated to be XML compatible?

See my previous attempts at using Markuper below:

Daniel HendrycksDanielHendrycks Tuesday, November 17, 2009 1:44:37 AM

The "New Apps" section of the Unite apps page misplaces objects. Anyone confirm?

HadiSyamsulHadi Tuesday, November 17, 2009 5:33:15 AM

Awesome beard

Jeroen HoekxJeroenH Tuesday, November 17, 2009 8:42:00 AM

Originally posted by lucideer:

Markuper was originally HTML based - has it being updated to be XML compatible?


DOM based is what it should say :-)

I pointed you to a modified version of Markuper with XML support. I can happily generate Atom and XHTML with it. If there are any problems, you can add them to that thread.

One thing I found really nice about Markuper and haven't seen documented anywhere is that you can send a DOM element as data and it will be inserted into the template where the variable was.

Originally posted by DanielHendrycks:

The "New Apps" section of the Unite apps page misplaces objects. Anyone confirm?

Confirmed.

lucideer Tuesday, November 17, 2009 3:42:44 PM

Originally posted by JeroenH:

I pointed you to a modified version of Markuper with XML support


Thanks for that JeroenH, I have been playing with your modified version (although the link is currently dead). I was merely asking Gautam Chandna/Opera (you don't work for Opera do you?) if their "official" version had changed, as the line above seemed to indicate it had.

walterbugscout Tuesday, November 17, 2009 8:07:47 PM

yes

Gautam Chandnagautamchandna Wednesday, November 18, 2009 11:35:53 AM

@Lucideer: My bad, I spoke too soon. The public version is DOM only...

Originally posted by JeroenH:

I pointed you to a modified version of Markuper with XML support.



@JeroenH: Nice work! I'll forward it antonioafonso, he's the author of markuper. You two should stay in touch :-)

Originally posted by DanielHendrycks:

The "New Apps" section of the Unite apps page misplaces objects. Anyone confirm?



Confirmed, and being worked on.

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.