Platform as a Service (PaaS) or Cloudware

PaaS, as Wikipedia puts it, is a bit clumsy to understand. You can get an expensive definition with examples from Forrester, if you will :) There is also the platformasaservice.com which seems to be (or to become) the central place for PaaS related resources. Also Google Search gives some useful links to read about PaaS, worth checking at least the first ten of them.

Why am I writing about PaaS? Because I got excited by the term, which I never heard or thought about.

Before not long ago I new SaaS, which currently is quite a comon business model – simply put up some software on your infrastructure and charge the users for using it. The best example in this area for me still is CRM provided by SalesForce.com. At Optaros we call this model Rent. You can read about Assemble vs. Build, Buy, Rent in the company’s blog, pretty simple and quite interesting.

So SaaS is an genious idea. It allows for recurrent income, which is always good in hard and unpredictable times (provided that the customers are already there). Optaros realized that Assemble goes very well with SaaS in the way that we call Hybrid offering. To keep it simple the hybrid offering is: build the app and rent it (most likely to the same customer). Doesn’t it sound more like a nice theory which is practically difficult to implement? Well, it is difficult but not impossible. Just check out what the Assembled Web is and then combine it with OView. Shortly, customers get a bunch of assembled apps floating around the Web and delivering their branded presence outside their main Web site. Moreover the customers get full control and overview over theoe apps. So this hybrid offering is really a simplified PaaS.

Having said that, looks like PaaS is actually a natural successor of SaaS. Intuitively it’s something more than SaaS. What constitutes “more” is the delta between what is Software and what is Platform. Hence in PaaS business model it’s a more complex software that’s being rented. The complexity varies. It can be a virtual machine(s) that you rent, e.g. Amazon Elastic Compute Cloud, Google Apps Engine, etc. or infrastructure to build apps there, e.g. Bungee Connect, SalesForce.com, etc.

Interesting what goes next in the line of SaaS > PaaS > ???. Soon my laptop will contain no code, nor IDE… just a browser. And I will forget how JAVA looks like, what is PHP, what is scalability issues, etc. I will just program on REST APIs and buy resources from someone on the cloud. Sounds like fun.

Posted in PaaS, SaaS, Web. 1 Comment »

OpenID + OAuth: Transcending Social Networks

So we’re tired of remembering all the log in details for each service we use on the Web. For instance, I’d like to log in everywhere with my Google Account because I use a bunch of services on Google. Others may be spending more time on MySpace and would prefer to log in everywhere with their MySpace account. OpenID allows for that.

Another thing, I want to log in to Facebook and see the pictures that my friends shared with me on MySpace. E.g. Plaxo is doing that in a very consistent way, by integrating many many services under one Plaxo’s ambrella. That’s maybe an exaggeration but with OAuth everyone can do this.

And so I am also doing that on my free time: playing with OpenID libraries and trying to integrate with other sites using OAuth.

The fact that social networks will be like air motivates me. And the fact that I will be able to login to Facebook with MySpace credentials hints that I am on the right track. Finally when I see services (with a business model behind it) based on OpenID (e.g. RPX), I am really feeling that the whole Web soon will change.

Posted in Open, Social, Web. 1 Comment »

Backing up Drupal Quickly

I must admit, updating a Drupal instance, even if it’s one module is a bit scary. And a rule of thumb is: backup, backup and backup the backup. So I do it.

Below I post a script that I wrote for that purpose (my first script for Linux :D). The folder structure on my server is:

~/
~/files/
~/public_html/drupal-6.x/

The Script

today=$(date +"%Y-%m-%d")
drupal_v="6.6"
backups="files"

cd ~/
mkdir $backups/$today

clear

echo -e "TODAY: $today\n"

# 1.
echo "---Backing up Drupal 6.x without uploaded files---"

tar --create --gzip --file=$backups/$today/drupal-$drupal_v-no-files.tgz --exclude='sites/default/files' \
--directory=public_html drupal-6.x

echo -e "DONE\n"

# 2.
echo "---Backing up Drupal 6.x uploaded files---"

tar --create --gzip --file=$backups/$today/files.tgz --directory=public_html/drupal-6.x/sites/default files

echo -e "DONE\n"

#3.
echo "---Dumping the database---"

/usr/local/mysql/bin/mysqldump -u YOU -p --default-character-set=utf8 --result-file=$backups/$today/dump.sql DB
tar --create --gzip --file=$backups/$today/dump.sql.tgz --directory=$backups/$today dump.sql

echo -e "DONE\n"

#4.
echo "---Copying the settings---"

cp public_html/drupal-6.x/sites/default/settings.php public_html/drupal-6.x/.htaccess $backups/$today

echo -e "DONE\n"

#5.
echo "FINISHED. Please move the backup files to a safe location"

On Google Developer Day in Munich

Yes, it was half a month ago, and I haven’t posted anything about it so far.  Shame on me.

General impression about the event is good. Although you couldn’t avoid the feeling that there was a bit too much advertising. But ok, what can you do in one day wit 500 developers, besides talking to them?

Look and Feel

Since Google has this image of being cool, childish and friendly, it really kept this image during the day. As you come into the exhibition hall you get into kind of a huge lounge with fancy music and colorful places to sit and stand. Then you can go and play something, for instance, table tennis, table football, Lego, etc. And in the end you could directly speak to a group of developers from Google, as they were taking up a specific corner and therefore were always available. The organization of the event was really brilliant. Everything on time, food for free, projectors always working, no waist of time.

People from Google were friendly, helpful, and really proud working at Google. The main marketing messages they’d tried to convey were:

  • You can do it!
  • it’s not there yet, but you can be the first one to develop (or create) it
  • We want to help people to grow in the Internet because Google can grow only when everyone is growing
  • We like open source, we encourage open source, everyone can be participate in projects where Google is also taking part

Not Only Brain Wash

The agenda was pretty compressed. You could attend at most 4 sessions (read descriptions)…
Read the rest of this entry »

Google Developer Day in Munich

If time allows I will participate in Google Developer Day in Munich. I am excited to have received the invitation and I hope I will have fun there.

Podcast on State of the Open Web

Ajaxian.com, Dojo and jQuery stars talking. Download it or read an overview.

Comfortable OpenID Login Box for Drupal

I’ve started a project (http://drupal.org/project/comfortid) which is intended to be a cool open source OpenID login widget for Drupal.

Looking forward to genious ideas on usability. I think it’s the only way to make OpenID popular.

Following Drupal

A good way to follow wthat’s happening with Drupal worldwide is to subscribe to the Drupal Planet feed.

I am really excited to see this creative way to popularize a project. No need to hang around the Web anymore in order to get an overview about this software. More than 200 feeds aggregated into a single one!

How to Delegate Your (Open)Identity Authentication to WordPress

Everyone using WordPress has an OpenID, e.g. mine is http://taroza.wordpress.com/. Yahoo and Google users also have an OpendID. Many other sites give it to you for free as well.

However, I don’t like these imposed ids of mine. Fortunately I own a domain name evaldas-taroza.lt which is quite a friendly way to identify myself on the Web.

Here is how I set up my identity (according to the article on delegation):

  1. Since I link http://evaldas-taroza.lt to this blog, I configured a subdomain id.evaldas-taroza.lt to stand for my OpenID
  2. Then I configured my new subdomain to point to a simple Web page (http://id.evaldas-taroza.lt):
    <html>
    <head>
    <link rel="openid.server" href="http://taroza.wordpress.com/?openidserver=1" />
    <link rel="openid.delegate" href="http://taroza.wordpress.com/" />

    <link rel="openid2.provider" href="http://taroza.wordpress.com/?openidserver=1" />
    <link rel="openid2.local_id" href="http://taroza.wordpress.com/" />
    </head>
    <body>
    </body>
    </html>

The tricky part was to figure out what is the OpenID server at WordPress (that’s in bold).

Now I can login to every OpenID consumer with id.evaldas-taroza.lt which is the id I own. When I get bored using Worpress as an OpenID provider I can switch to Google, Yahoo, etc. and still keep it as id.evaldas-taroza.lt!

UPDATE: Looks that WordPress openid support with delegation does not always work. So I switched to myopenid.com (I like that green color that they have). For an example how to configure delegation specifically for myopenid.com you can look, for instance, here.

JavaScript in Eclipse

JSDT is a promising JavaScript IDE. As an article from IBM says the features of JSDT include:

  • Syntax highlighting
  • Folding/line numbers
  • Full outlining, showing classes, functions, and fields
  • Highlight and check of matching brackets/parentheses
  • Auto-complete of brackets, parentheses, and indentation
  • Mark occurrence
  • Comment toggle (line and block)
  • Generate element JsDoc
  • Surround with do, for, try/catch, while
  • User-configurable completion templates
  • Extract function/change function signature
  • Indentation correction
  • Open declaration
  • Open-type hierarchy
  • Open-call hierarchy
  • Customizable code formating
  • Full search
  • Refactor/rename/move
  • Breakpoint support
  • Defined browser libraries with JsDoc for Firefox, Internet Explorer, and ECMA-3
  • Support for user defined libraries using JsDoc + JavaScript prototype definitions
  • Library image support
  • Debugging support provided through the ATF Project

Exciting! JSDT is already available. It’s part of the Web Tools Platform V3.0, and I guess it’s currently the best JavaScript toolkit out there.