Enterprise 2.0 and Rich Internet Applications

What’s SAP doing to help customers infuse Web-based apps with rich-client functionality?

It’s nearly impossible to achieve a RIA architecture – even on one of the many RIA stacks – unless you’ve done a decent job of service-orienting the underlying capabilities you want to access. You need the metadata that describes not just the business process execution, but also the metadata that describes conceptually what the service is doing, how it can be used, and how it should adapt to different device capabilities in order to give you a rich application. That could be on a PDA or a smart phone as well as on widgets, Flash-type experiences as well as dynamic HTML Ajax-types of environments.

According to SAP Enterprise 2.0 has these multiple aspects that need to work cohesively.

  • Rich Internet Applications (RIA)
  • services-oriented architecture (SOA),
  • metadata,
  • model-driven architecture (MDA)
  • event-driven architecture (EDA)

Front end technologies (Web 2.0 functionality):

  • portal,
  • widgets,
  • RSS,
  • wikis,
  • blogs and
  • Ajax technologies

Another two interesting trends mentioned in this Q&A are that:

  • The run times are in Flash
  • The development environment is NetWeaver

Look at the list of TLAs (three letter acronyms). You can read more in this Q&A: SAP on Rich Apps, Architecture and AJAX based Portal Environments.

The Fundamental Paradigms of Programming are Going to be Challenged

Tim O’Reilley in Concurrent Programming: Erlang, Haskell… and XSLT

the fundamental paradigms of programming are going to be challenged as systems and processors scale up.

Erlang and Haskell have been mentioned as some possible candidates.

Erlang is designed from the ground up to help programmers create highly concurrently (read thousands or processes), highly reliable (read 99.99999% uptime) applications. It’s a real world language–it is used to write telephone switches, banking applications, trading systems…you name it.

With multi-cores multiplying and the complexity of application development increasing, we may need a new approach and a new language. Or possibly an old one like Erlang that can scale well.

Some times I wonder whether all this complexity can be taken care of by the operation system. Microsoft certainly thinks so.

The speed of the machines, as I said, is going to depend on this parallel programming. And so the operating system, as it has over the years, will take on higher level tasks. And so that as applications are calling the operating system, the sophistication of doing this parallel programming will be handled in the operating system itself.

OpenAJAX Gets Stronger

Since first formed, OpenAJAX seems to have gained a lot of support (70+ members). One of the most visible recent events, is Microsoft and Google joining the OpenAJAX alliance in addition to a host of other members.

The Alliance, an industry collaboration whose purpose is to develop and expand the use of Ajax, said it now has a membership of 72 companies. In addition to Microsoft, 30 other companies have recently joined. You can see the full list of companies at Open AJAX Alliance website.

The Alliance, only ten months old, has grown from 13 member companies to over 70. Besides Microsoft, other Alliance members include Adobe, BEA, IBM, Mozilla, Laszlo Systems, Novell, Openwave, Opera, Oracle, SAP, and Sun.

It was a good idea to begin with. Hope this alliance moves fast and does not get bogged down with the weight of the participants.

Here are some resources:

Open AJAX Member Wiki

Open AJAX Blog

John Resig – Thoughts on OpenAJAX 

I am hoping that now that we have some move towards standardizing the AJAX, we will see the following:

  • A component model for building AJAX components
  • An AJAX based wiki
  • AJAX extensions to popular wikis (like MediaWiki)

Idealog: InfoScope

Doug’s idea of Hyperscope is almost seven years old. At iMorph, we built a prototype about 4 years ago. More recently Eugene set up a Hyperscope team and did some outstanding work. I am surprised that it has not become a product yet.

The original Hyperscope paper is here. Here is a summary of its high level features.

1. Converting different types of documents to a common format called I-File (intermediate file) an XML format

2. Providing flexible viewing (collapse levels, view the first line of every para, highlight verbs and nouns in different colors etc.)

3. Provide granular addressing (to a para, to a sentence or even a phrase or a word)

4. Collaborative annotations

5. Semantic Linking or Typed Linking (Rich linking capabilities far beyond what we have in browsers today)

InfoScope is inspired by the Hyperscope efforts and some of what we learned in working with early prototypes. Things have changed since Doug’s original proposal.

1. Since all documents are converging towards an XML format, we need to support fewer (OXML, ODF, XHTML) formats

2. We can incrementally develop these features as browser extensions (viewing extensions, linking extensions, annotations etc.) or web components. This allows easy adoption of select features.

3. Infoscope becomes a set of features in existing heavily used product like Microsoft Office, Open Office instead of being a stand alone product.

3. We can use AJAX to provide better user experience for marking, linking, annotations and viewing.

Do What I Mean Engine

Here is an event, I would not like to miss. The description is appetizing enough. From the ACM Talk email alert:

The “Scribblenet” is a gentle romp through the design and philosophy of walking the line between making it easy enough for people to bother putting data in to a system and still useful enough to make it worth the trouble of getting it out again.

Using the Flick API (commonly known as “Application Programming Interfaces” but perhaps better understood, today, as “Anti Platform Initiatives” or “‘Architecture of Participation’ Interfaces”) and machine tags as examples, the talk will discuss why applications, and developers, should open up and let go as a first step in building computing’s elusive “Do What I Mean” engine.

Aaron works at Flickr doing mobile and geo related hackin…I mean, engineering. Aaron does not normally speak in the third person and by all accounts “there’s flesh under all that RDF-talk.”

Everyone Has a Program In Them

I came across Alice a couple of weeks back. I saw a reference again today. And these words really caught my attention.

I’m huge on efforts like Alice and other projects to bring novices and newbies into the ranks of programming. Just as I think everybody has a book in them, I believe everybody has at least one good program in them. I’m not saying I’d be interested in reading all those books (or caring about all those programs), but I think about the boost in literacy that bringing more folks to reading and writing would bring. The same could be said for bringing more folks to programming.

CMU officials said Alice has been successful in teaching students at more than 60 colleges and universities, as well as a growing number of middle and high schools, to program. And not only has Alice been effective in getting girls interested in programming, it also has attracted minorities, as the program has been introduced into schools in the interior of cities such as Washington, D.C., CMU officials said.

In Girls Ask Alice for Programming Skills, Darryl K. Taft tells a nice story.

I think programming is creative problem solving. It provides an engaging experience. It is also a tool for thinking. Languages like Logo promote exploration and allow kids to Play to Learn. Hopefully tools like Alice and others that let kids explore and build their own microworlds will gain widespread usage.

Explore Alice.

How I found this article.

email ->Code Project Daily Developer News -> Girls Ask Alice for Programming

Getting New Ideas

I got this data from an  Idea Receptiveness Survey.

The most popular choice is to look outside for new ideas (43%) when facing a difficult problem. Only 12% stated that they would continue to try to come up with ideas themselves.

The ‘other’ answers included the following with the first two mentioned several
times:
· A combination of the above
· Brainstorming.
· Post the problem on online forums
· Use stimuli
· Independent consultant
· Ask lots of people
· Pull cross functional teams together
· Look to see what others had tried elsewhere
· Sleep on it
· Research the internet
· Ask anyone with potential expertise in the specific area

I wonder whether there is another method – have a Wiki for Ideas? An IdeaPedia, perhaps. It was one of the suggestions I made to the Project Red Stripe from The Economist which wants to pool ideas and publish them.

Meta: How did I get to writing this post?

Google Alerts on Innovation -> BQF Innovation -> Chuck Frey’s blog -> Idea Receptiveness Survey

Project Red Stripe – In Case You Want to Participate

Share your ideas. The Economist Magazine’s Project Red Stripe, promises to keep the ideas open, recognize you for your contribution, even give you a token gift.

Your idea can be as simple or complex as you like. It could be a product, a service or a business model. Before you jot your idea down, think about how best to describe it (here are some hints for doing this). If you want to track our progress, please visit our blog, where we would love to hear from you.

I already posted my bootstrapping idea – an IdeaPedia (similar to WikiPedia).

Here are a few reasons why:

  • There is already a semantic Media Wiki effort to add useful metadata
  • Ideas trigger ideas – so when people see one they are likely to build others based on a few

This is a bootstrapping idea for the infrastructure. Here are some related efforts that may help.

  • Have a microformat for ideas (I suggested this before in my blog) so that they can be harvested, spread and seeded
  • An idea RSS (this comes if you use a good wiki) feed that people can subscribe to
  • An Idea Group blog (where each submission becomes an entry) just to make sure that people who do not feel comfortable with a wiki can use this alternate channel for discovery, browsing and trackbacks
  • Integrate this wiki with the Idea blog
  • Design a set of infoblocks to provide some structure

Recognizing Cool Vendors

It is nice to see Gartner recognizing innovation and creating a category called cool vendors. Never heard of this before.

Gartner defines a cool vendor as a company that offers technologies or solutions that are: Innovative, enable users to do things they couldn’t do before; Impactful, have, or will have, business impact (not just technology for the sake of technology); Intriguing, have caught Gartner’s interest or curiosity in approximately the past six months.

In this case, it was Raining Data, for their product TigerLogic Clinical Trials Data Services.

Source: Google Alerts on XML

As Keyword Search Becomes Less Effective

What is the simplest, most effective way of explaining the power of the Semantic Web? Semantic Search which works 10 times better than the current Search technologies may be one of them.

Today a typical Google search returns up to hundreds of thousands or even millions of results — but we only really look at the first page or two of results. What about the other results we don’t look at? There is a lot of room to improve the productivity of search, and the help people deal with increasingly large collections of information.

According to Nova Spivack in Beyond Keyword Search:

Starting with the “data web” enabled by RDF, OWL, ontologies and SPARQL, structured data is becoming increasingly accessible, searchable and mashable. This in turn sets the stage for a better form of search: semantic search. Semantic search combines the best of keyword, natural language, database and associative search capabilities together.

Sounds promising. Here are some thoughts:

  • Google works on web pages as they stand today. A Semantic Search would require additional meta data for the web. Who is going to do it?
  • Some common folksonomies or ontologies need to develop (bottoms up)
  • There may be some innovative ways of solving the encoding problem – dbpedia is one of those
  • Moving to XML document formats (whether ODF of OOXML) is a good first step

It is more than likely that the Semantic Search may start at the Government and Corporate enterprise level where it is easier to standardize data formats (read XML) and metadata formats. There are several efforts at Semantic Markup of data which may help.