WS-* vs the REST

This is probably one of the most debated topics in the industry today. Thanks to Tim Anderson for bringing us the debate from MixO6. I have mixed elements of this debate with a couple of quotes from Jon Udell and Dion Hinchcliffe. The overall feeling seems to be that we need organic growth of usage of light weight web services before the heavyweight standards can be finalized.

Jon Udell

Simple forms of XML messaging were succeeding in the field long before any of these standards emerged.

Tim O'Reilly

Donald Knuth, the famous computer science professor, said that premature optimisation is the root of all evil. He was talking about program performance, but I think that principle applies.

A lot of innovation comes when things are simple enough for people just to try them out and jam against them, if you like, to use a jazz term.

If you look at a lot of innovations in the computer industry, they come when something is simple and the barriers to experimentation are low, and not from big company standards-driven top-down initiatives.

Simple bottom-up stuff is a driver of the future. You need to figure out how to layer more complexity on top of that and add value to it, rather than present this big heavyweight solution that is theoretically better.

Jeff Barr from Amazon:

The trend is towards simplicity and getting applications running quickly. That implies away from SOAP and more toward REST, and even toward more lightweight protocols. There's a new protocol we're looking at called JSON, the Javascript Object Notation.

Given the number of different things that the web services community is asking of developers, I think that's really important, that really easy ramp.

The evolution of the programmable web continues apace, but there’s intense debate over what the internet’s API should look like.

Dion Hinchcliffe in his SOA blog talks about a tolerance continuum.

My personal prediction is that low impedance mechanisms will flourish dramatically in coming years the closer you get to the point of use. Back-end infrastructure will get both radically decentralized but remain essentially as formal and structured as it is today.

Advice To Programmers

This is actually a post by Joel on advice to Computer Science College Students. But I did not read this when I was going to college. I think if you are a programmer and have not done some of these things, it is not too late to start.

  1. Learn a low level language like C
  2. Learn to write and communicate well
  3. Learn a bit of Economics (especially Micro-economics)
  4. Take programming-intensive courses
  5. Learning Computer Science is not the same as learning Software Development (there are no good courses in Software Development)
  6. There is an incredible shortage for really good programmers (no matter where you are)
  7. Programming is incredibly good training for all kinds of fabulously interesting jobs

I think this is great advice for students and any programmers (beginning or experienced). Follow this and you will have many of the skills to start your own software company someday.

Mathematical Experience

We often hear that Mathematics consists mainly in "proving theorems". Is a writer's job mainly in writing sentences?

A mathematician's work is mostly a tangle of guesswork, analogy, wishful thinking and frustration, and proof, far from being the core of discovery, is more often than not a way of making sure that our minds are not playing tricks.

To master mathematics is to master an intangible view, it is to acquire the skill of a virtuoso who cannot pin his performance on criteria.

By Gian-Carlo Rota on "The Mathematical Experience" by Philip J.Davis and Reuben Hersh

Trying to Understand the Essence of Education

Shuttleworth Foundation is trying to acclerate global innovation. Stumbled upon this very valuable site tracking some blogs on Python (programming language). Reading the goals and comments by the participants is very educational. Wonder what we, as bloggers, can do about improving education.

  • Trying to understand the essence of education- what skills are gained from primary and secondary education, and to extract the core skills needed in life:
    1. Communication skills
    2. Analytical skills

Blogosphere – An Update

Amazing. You can find the original post here.

  • Technorati now tracks over 35.3 Million blogs
  • The blogosphere is doubling in size every 6 months
  • It is now over 60 times bigger than it was 3 years ago
  • On average, a new weblog is created every second of every day
  • 19.4 million bloggers (55%) are still posting 3 months after their blogs are created
  • Technorati tracks about 1.2 Million new blog posts each day, about 50,000 per hour

What are the implications?

Something that we have known for a while. Blogs are becoming mainstream. I depend on them for new product announcements, perceptions on new products. This is mostly because some of the peope I trust and respect and want to learn from, blog. Find your blog guru or blogmentor.

How will you find the blog(s) you want?The blog search engines(including Google's) are very primitive. We need to think different. There are definitely product opportunities in this space. Blogs are more structured than web pages. You can get more semantic information from the blogs. These include:

– The author

– Topics covered

– Connections (through blog rolls)

– Ranking (these may not be perfect but we certainly have them)

– Readership (how many people follow the blogs)

– A place to track new additions to the blogosphere (weblogs.com)

– A well defined format for the information (RSS/Atom)

– Tags (or categories) 

Google Calendar Firefox Extension

In my post on Google Calendar, I was hoping for a similar facility as a browser extension.

Imagine the Calendar component in the side bar of a Firefox browser and the pattern detection capability a feature of Google Toolbar.

I was expecting to come from Google in the next version of their toolbar. And just a couple of days later, Elias Torres produced one.

The extension is very simple. It adds a new shortcut (CTRL + ; [semi-colon]) to your browser window that launches a simple text dialog. In the text box you can enter whatever you would in the Google Calendar Quick Add feature and if you hit ENTER it will create the event for you in your default calendar. Remember, you must be logged in for it to work, if not, I’ll remind you anyways. The icing on the cake, is that it will find any Google Calendar window that’s opened and reload it for you so you can see your new appointment.

Install Quick Add.

XML Toolkit for Government

Government is one of the big users of XML. In fact, a site devoted to XML in Government has useful information on the adoption of XML in government, communities of practice and lessons learned.

Another effort, from NY State is to use XML for managing the content of websites.

XML is generally understood to be a technology that supports effective data exchange between applications. However, XML has another value that is much less exploited or understood – it offers a viable long-term solution to many of the shortcomings of HTML because it structures and describes Web content in a meaningful way.

Yesterday, the Center for Technology in Government (CTG) announced the release of the first version of its online XML Toolkit at www.thexmltoolkit.org. The Toolkit is a product of the Center's XML Testbed, which served to assist New York State agencies in examining the benefits as well as the challenges of Web site management using the emerging technology of XML.

About the Testbed

The Testbed is not a technical how-to program about putting XML into operation, but a structured 18-month investigation to study best practices, work toward agency-defined practical goals, and build organizational capacity for better use of the Web.

Five New York State agencies were selected to participate in the Testbed:

  • NYS Department of Civil Service
  • NYS Division of Housing and Community Renewal
  • NYS Higher Education Services Corporation
  • NYS Office for the Prevention of Domestic Violence
  • NYS Office of Cultural Education, State Education Department

A great benefit would be the availability of data in an open format for use by non governmental organizations.

AJAX will Drive XML Traffic

According to a blog in ZDNet, XML traffic will multiply. I am not sure how they got the numbers but even if does 100 or 1000 times, it is significant. Most of the XML generated will be transparent to the users (ajax apps, blogs, Office 2007 etc.).

“It’s still early, but we’re seeing a huge amount of potential interest, and potentially having lots of client-side stuff now starting to generate XML traffic,” Nash said. “Whereas we were seeing a lot of the servers begin to communicate using XML previously, what’s happening here in the AJAX space is, we now have the 100,000-times multiplier of potentially user desktops all beginning to generate XML.” Ditto for Office 2007, which is scheduled for release early next year.

There will be several drivers of XML traffic:

  • Microsoft Office 2007
  • Open Document Format (ODF) based on XML
  • Increase in blogs (both personal and business)
  • Web based collaboration (wikis have started using XML format)
  • Increase in the number of AJAX applications (both Web and Enterprise)
  • RSS feeds as the syndication format (for news, alerts, events)
  • Increased use of XML vocabularies (finance, insurance, healthcare, retail)
  • Popularization of Microformats
  • Web APIs (most of them return data in XML format)
  • Increased adoption of both lightweight and heavyweight web-services
  • Increased adoption of XAML, XUL, XForms based User Interfaces
  • Improvements in Information Visualization (Exploratory Search, Information Browsing etc.)

WordPress – One of the Coolest Products

I love WordPress. It is not just a cool tool for blogging. From day one, I have noticed their constant effort to improve, makes changes (undo some changes if necessary), listen to feedback and act pretty fast on bug reports. They are constantly adding new features (small incremental improvements) and organically growing the product. I think this is the model of how products need to be built and delivered. They are certainly setting new standards for innovation, customer interaction and quality.

I was doing something with Pages yesterday and noticed a bug. I sent it a report and within 12 hours I got an email saying the bug is fixed and asked me to try the feature again. This is simply awesome. So when I read that they got funding, I am happy for them. It is a great relief to know that they will stay frugal and responsive.

Here is Mike on why Ploaris funded WordPress:

In sum, if you believe that blogging, personal publishing, and social media are important market trends which will give birth to important new technologies and businesses, which I and Polaris do, then backing the team that created WordPress and Aksimet seems like a great bet.

Google Calendar – Beginning of a Trend?

Google just announced Google Calendar. I played around with it a bit. Pretty clean UI and very fast. Will get to it soon. More details in this review from TechCrunch.

Many features make this calendar product stand out:

  • Public Calendar Search
  • Publish an individual event on your website (with a snippet of HTML code)
  • Create public, searchable events
  • Support for iCal format
  • Ability to receive notifications in email, SMS or as pop-ups
  • Import calendar info from Outlook or Yahoo (using iCal or csv format)
  • Fairly seemless integration with Gmail

Google has an Event Publisher Guide (a link from the help section of the calendar) on how to create, share calendar entries on your websites. The TechCrunch article mentions RSS syndication but I have not seen any references to that, so far.

This calendar product is the beginning of an interesting trend. How?

– It shows interaction between two applications (Gmail and Google Calendar). The email detects certain patterns (events in this case) and allows you to take action to update a different product. Right now both the products are from Google, but in future this may not be so.

– It brings sharing of data between applications to a new level. There is a better semantic interchange between applications

– It begins a new trend of one web application being the canvas of others. For example, we can imagine another application (todo-list) on the Gmail canvas. Gmail can be augmented to detect todo items and add them to the todo list. There could be a rule in todo-list to add items automatically to calendar.

While Google has done this with Gmail, nothing prevents these interacting applications from being components in a browser. Imagine the Calendar component in the side bar of a Firefox browser and the pattern detection capability a feature of Google Toolbar. You can now add events from web pages to a calendar component instead of doing it just from email. In fact, the goal of Microformats is to enable such interaction between (tagged) content and applications.

As expected there is a lot of coverage of this product:

Washington Post

LA Times

ZDNet

Read/Write Web