Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

Friday, December 17, 2004

Google/Internet Archive, Meet Mr. Event

In the spirit of "tags are the new black," here's a vision for how event and calendar management should be handled by 2006:  Wouldn't it be grand if all events in the world, from a garage sale in Lexington to a tech conference in SF, could be automatically discovered (Google), stored in one central, public domain, web services accessible database (Internet Archive), where the events could then be categorized (Topix), community rated and recommended (Amazon/Netflix/Last.FM), personally tagged (Flickr/del.icio.us), and ultimately custom-fed (PubSub) directly to your calendar device of choice (Calconnect)?



Cool, where do I sign up? I Could have used this to promote our now defunct SF Web Services SIG, which was done "by hand," one site/email list at a time.  Not to mention the relative difficulty when you go searching for a good event in your area...(not to knock workit.com or craigslist.org -- thanks guys!)  But I want this uber event service now!



So past and current pains combined with threads followed, dots connected, and small wheels turned since last week's Berkeley Calendar Project post create this mashup event service vision.  Actually, people are talking about this vision in so many words.  Dr. Bob Glushko and Allison Bloodworth et al are leading part of the effort by trying to bring sanity and sharing to the 80+ event calendars of UC Berkeley.  Tantek Çelik and other folks working on hCalendar talk about using your web site as your API,

"...bloggers can discuss events in their blog(s) in such a way that spiders
and other aggregators can retrieve such events, automatically convert
them to iCalendar, and use them in any iCalendar application or service.",

Kevin Hughs at zLab writes,

"The potential for applications that make use of networked, time-driven information is
huge. Today's portals have no concept of event personalization or collaboration.
Today's applications have only the most basic concept of integrating with or subscribing
to time-driven data. And there are no providers of horizontal event-based services. ... Software and
the Internet has freed online music from its proprietary data and application jails, why
not do the same with events? The traditional calendar interface deserves a overhaul.",

Marc Canter chimes in,

"I wonder if they wanna help put up shared XML servers of Events - scraped from throughout the web?",

the Calconnect.org folks proclaim,

"Our members’ intent is to enable calendaring and scheduling tools and applications to enter the mainstream of computing," said Dave Thewlis. "After email, the World Wide Web, and instant messaging, calendaring and scheduling capabilities are what business people and consumers will really care about.",

and many many others I have yet to discover [add more in comments].  Yes, A few people are already doing similar stuff, like upcoming.org, rsscalendar.com, openeventscom, whizspark.com, evdb.com(?), and most likely Google Labs (?) [any more?].  But for starters, from what I can glean these efforts rely on people coming and manually submitting events, rather than auto-discovery and aggregation via spidering --> problem of db critical mass.



So let's make one!  Let's combine something practical and "standards-based" (ie., iCalendar/XHTML) like hCalendar, but extend it with the rich UBL-inspired semantics of a Berkeley Event Model.  Now that everyone agrees, let's move one.  We need open source tools so event producers (even for my yard sale) can list their events on their blogs/web sites, like they already do, but also be sure to use valid markup.  (Note: people are motiviated to promote their events -- no prodding necessary)  Then we need an open source spider, a bunch of disks and some linux boxes, a REST API, open source recommendation and reputation/rating/tagging engines (eg., tweaked openscrobbler + ??/??/??), and some pub-sub and feed generators.  And to top it off, let's make the database and service usable by all (eg., some kind of creative commons), so we can unleash the creativity of the world to build custom interfaces via our web services API.  Easy stuff in these days of inspiration from  Amazon/Google/PayPal/eBay/SForce, open source, wikis, bugzilla, and PayPal donate buttons.  Right?



The law of ideas says that at least 6 (or is it 8?) people are either building or have already built this exact event service -- and I haven't found it yet.  Any pointers?  If not, anyone want to build this monster?



Wednesday, November 03, 2004

GroupWare to TeamWare to SituatedWare: Wikis Get the Platform Right

Wikis for Content



I've been writing quite a bit about Wikis lately. The first time I used a Wiki, I knew I had come across the most practical tool for ad-hoc teams to date. You know, the bread and butter of meeting agendas, minutes, capturing brainstorms, team research, team to-dos, etc. I collaborated on content, engaged in simple processes, and maybe even used a form or three, but never got too fancy.



Indispensable, addictive tools for sure, but for some reason I didn't put wikis within a larger functional or historical context. I noticed and followed the commercial offerings from startups like SocialText and Atlassian, but despite plugins and forms, I continued to keep them politely tucked on the aisle and shelf of "collaborative web sites for team content." (Maybe it was their continued association with blogs, or focus on wiki markup?)



Wikis for Applications



So when I caught wind of JotSpot's "application wiki" positioning and vision, I was intrigued. It's a vision shared with forward-thinking open source wikis like XWiki and TWiki, but I'd never seen it articulated so clearly. After beta testing Jot a bit, I started to get it. In my last post I even dotted a line between an application wiki and a platform for model-based/model-driven application development -- they seem like a promising match.



Wikis for Core Infrastructure



So now after digging in to Jot even more, and also letting Clay Shirky's idea of Situated Software (software purpose-built for a very small group of users) sink in (with help from techdirt and Jon Udell), my mental curtains have opened still further.



GroupWare, as pioneered by Lotus Notes, was a big and difficult email-centric enterprise collaboration product. But unless you were an IT programmer, you and your team were out of luck as far as carving out a little custom corner of Notes for secure, private collaboration. This gap was targeted by the first generation of "Internet team" products that came on the scene in 1997 to help pioneer the TeamWare market. Products like Inovie's TeamCenter (my company), Netmosphere's ActionPlan, and Instinctive's eRoom had missions to serve ad-hoc, browser-empowered project teams, who would come together, collaborate and share project plans and documents, and then disband. Some were more focused on collaboration, some more on project management, but they all pre-integrated a set tools for working with tasks, documents, reports, tabular data, chats, etc. Many more have come since, including OnProject, Basecamp, Groove, and Lotus Team Workplace to name a few.



The limitation with these TeamWare products is their strength: they nicely pre-integrate sets of tools that certain teams find very helpful, but if your team can't or doesn't care to work within the processes best-served by those tools, you're out of luck! There's never been a TeamWare platform that gave most teams immediate value out of the box, but could then be easily programmed to enable self-service, tightly integrated mini-apps for specialized needs (ie., Situated Software). From what I've seen of JotSpot, it's got the juice to be this platform (looking forward to understanding capabilities of SocialText, TWiki, etc., as well) :




  • Pre-built apps and templates to provide TeamWare's hit-the-ground-running with familiar processes and best practices

  • Well thought out, easy to use, easy to copy, tweak, and evolve data and programming model in JotScript, to foster a development community and capture the long tail of Situated Software

  • Blank-canvas approach of classic content wikis for content collaboration, web linking, and document sharing

  • XML-centric core to avoid creating a big island of information, and perhaps even acting as a "good-enough" platform for integration a la composite applications

  • Everything gets revision controlled (even the apps and documents), so everyone can sleep at night.



Sure there are always hurdles around culture, application management, directory integration, etc., but these strike me as solvable over time given the ingredients that go into application wikis. So whether application wikis grow up to become the platform for the diverse needs of model-based apps and/or TeamWare and/or Situated Software, their future looks bright.



Thursday, October 28, 2004

Application Wikis: Powering the 'Big Red Button'?

Bob Glushko, director of UC Berkeley's Center for Document Engineering, has a saying that goes something like, "Just take your application's XML schema, give it to the Platform, and press the big red button. Done, application created." That was the vision behind the Center's "XML Application Platform" project I led last year. It's model-based application nirvana, where the data model is explicit in the Schema, and through annotations and maybe some additional metadata, an entire web-based application is created automatically. And it's hard to do. We built a prototype on Orbeon's Presentation Server, which can be thought of as a next-generation Cocoon, but alas a 2 semester research project can only get so far...



I've finally starting digging deeper into JotSpot, the new-wiki-kid-on-the-block. They're positioning as an "application wiki", and I'm now seeing what that actually means. From what I see so far they've done a nice job of making it very easy to have 2-way integration with enterprise data and applications, whether through web services or RSS (e.g., see Jon Udell demo that includes integrating with SalesForce.com). David Mattison writes:



The problem, though, is that the wiki, by itself, has limited programmability. You can enter text and make links, but that’s not quite the same as building an actual application. While both SocialText and JotSpot appear to offer additional components that they’ve built, the next stage may be for them to start promoting easy integration with additional outside apps and components developed by others. If you start thinking of the wiki as less an open whiteboard for text, and more an open workbench for integrating web services-based applications however you’d like, things start to get much more interesting.


So if JotSpot and other "application wikis" like SocialTextand XWikican come up with rich enough scripting languages, the wiki becomes the natural platform to power the Big Red Button Platform. The real work comes in creating the XML models that capture the semantics of access control, workflow, and some of the other aspects that real apps require. But much of that stuff is presumably already in the Wiki! So with some thinking and work, I can picture these aspects as little JotSpot applications/services that get stitched together with some XML configuration and viola, we've got XML schema-driven applications -- and a Big Red Button!