The Artima Developer Community
Sponsored Link

Java Buzz Forum
Web 2.0 IDE's and Constraint-based Design

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Michael Cote

Posts: 10306
Nickname: bushwald
Registered: May, 2003

Cote is a programmer in Austin, Texas.
Web 2.0 IDE's and Constraint-based Design Posted: Mar 14, 2006 8:24 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Michael Cote.
Original Post: Web 2.0 IDE's and Constraint-based Design
Feed Title: Cote's Weblog: Coding, Austin, etc.
Feed URL: https://cote.io/feed/
Feed Description: Using Java to get to the ideal state.
Latest Java Buzz Posts
Latest Java Buzz Posts by Michael Cote
Latest Posts From Cote's Weblog: Coding, Austin, etc.

Advertisement

James sent over a post from John Montgomery wondering out-loud what a web based IDE would look like, or if it's even possible and/or desirable.

I know: it sounds crazy to all us developer types out there. The web is way slow for coding. Then again, maybe the problem is that the web is too slow for the way we code. New way and different ways of coding may work perfectly on the web. As some thought-yeast, Writely isn't a perfect word processor, but it's good enough for most of my word processor tasks.

The Wiki Model

In the short to medium term, a successful web-based "IDE" would be something like a wiki. Wikis -- such as the [in]famous wikipedia -- draw their power from their simplicity. A wiki is a collection of web pages (with text and images) that allow you to edit the content of each wiki page by clicking an "Edit" link on each page. After clicking, you edit the text on the page, and click save. The page is instantly updated. There's no work-flow or uploading to go through. Whiz-bang! It just works.

Side-note: Do You Know Wikis?

If you're developing software, and you're not familiar with the architecture and usability of wikis, I'd strongly recommend taking some time to pick it up. The abstract design think behind wiki's is brilliant and can improve usability in other web applications.

Refactor Me

Getting back to web based IDE's, the key jump to make is that an IDE could be baked into the actual application itself. For example, you might have a web application where each page has a link/button that says "Refactor Me." Clicking on that button would bring up whatever code in some IDE'ish page that you could edit. Once you clicked save, it'd re-compile/re-deploy or re-whatever needed to happen to get those changes in effect.

Sites like Ning are probably good inspiration. I also suspect that there are, or will be, some SalesForce mashups along these lines. Frameworks like Seaside are also interesting in this area.

Constraint-based Design: Exploit the Powers, Ignore the Weaknesses

As all of us at RedMonk have pointed out, the Writely's powers are the multi-user, collaborative features: keeping track of revisions, who's edited what, concurrent editing, centralizing the document so there's only ever one document (no emailing around different copies of a .doc file), and the portability that comes from a web-app that isn't bound to an end-user platform...among other features.

When it comes to a web-based IDE, instead of focusing on duplicating the exact feature-set of desktop IDE's, web-based IDE's should focus on those types of key features that desktop IDE's can't touch.

This same pattern, of course, emerges as application cross mediums: from mainframe to desktop, from desktop to web, from web to mobile, etc. Each type of system that an application runs in brings it's own set of core competencies, to borrow a biz-term. One moniker for this type of thinking is "constraint-based design", and it's a great, lean-ish way of understanding the idea. It's always tragic to see an application wallow in what it can't do, fighting it's constraints, instead of reveal in what it can do, profiting from it's constraints.

Read: Web 2.0 IDE's and Constraint-based Design

Topic: [Mar 3, 2006 03:59 PST] 6 Links Previous Topic   Next Topic Topic: Links for 2006-03-02 [del.icio.us]

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use