Tuesday, October 23rd, 2007

JDA Mashup Editor

Category: JavaScript, Showcase, Utility

Peter Svensson has written a Web-based mashup editor JDA Composer.

The Composer uses JDA itself, and lets you build blocks using Blueprints. You can take it for a drive, or watch the screencast.

Features

  • Visual design of page/gadget UI
  • Basic styling in place (colors, fonts, background images)
  • Using openJacobs draw2d graph library for UI creation and drawing component relations)
  • Using Dojo 4.3 for menus, windowing and basic magic. Gotta *love* dojo :)
  • JavaScript IDE for creation of JDA (Javascript Dataflow Acrchitecture) blueprint components, editable in Christofe Dolivet’s EditArea javascript-based code editor.
  • “Live” components, usable on the fly when created and connected
  • Exportable pages/gadgets to basic HTML+PHP backend, Joomla module and remote Google gadgets
  • Basic developer key management implemented.
  • All components and pages can be stored and used by all.
  • Community features coming… “soon” :)

JDA Mashup Editor

Posted by Dion Almaer at 7:09 am
25 Comments

+----
1.6 rating from 85 votes

25 Comments »

Comments feed TrackBack URI

If it’s all the same to you guys, do you think you could leave a comment or two of constructive criticism?

I would really know what in the alpha I’ll ad, take away or try harder on.

Thanks,
PS

Comment by peter svensson — October 23, 2007

I am frustrated for you that so many people gave you a low rating without feedback. It’s difficult to put your work out for people to trash your efforts without any consideration. I personally had a very difficult time with your demo. It appeasr that the presentation and usability could be improved greatly as well. I like your concept and I’m sure you have a lot of intellgence behind your project it’s just not presenting itself very well. You might also get some ideas from http://pipes.yahoo.com/pipes/ which I think did a decent job in a similar area.

Comment by Anthong — October 23, 2007

Thanks!! yes, I agree. on both counts :) At first at had nothing on the editor, then I figured that I had to at least have a demo project up, which I have now.

The problem with being a programmer is that you’re often (I know I am) a not so very good designer. I am trying to figure out how to have as clean an interface as possible, while at the same time give as much hints as possible.

Also, the comparison with Yahoo! Pipes is a little bit unfair, since pipes is much prettier than the composer :), but mostly because pipes only generates RSS-feed, and is perhaps more akin to Microsofts Workflow Foundation.

The composer generate stand-alone zipfiles with webpages which contains “rich” javascript components, and a PHP backend (even in the google gadget export target).

Oh wait. I understand that you mean that I can learn from their layout and design. Yes. I probably should check it out more thoroughly.

I will add a lot of info windows and tooltips, I think, which guide the user/developer better through the process.

Thank you _very_ much for your post, Anthong

PS

Comment by peter svensson — October 23, 2007

Hey Peter, I feel your frustration, because,
as it turns out, I have just made live MashupMania.com, another Javascript Visual IDE for building widgets and mashups :-) It’s a different approach, not related to google’s mashup stuff. A bit similar to Yahoo Pipes, but more easily expandable (I think). MashupMania could probably use some usability improvements, and faces the same challenging that your JDA ME does, which is to demonstrate its usefulness without loosing the user with too many options.
But I thought I’d put it out there, since everyone is releasing their own beta/alpha mashup editors out there :-)
Feel free to send me comments and suggestions, info @ mashupmania.com

Comment by Deis — October 23, 2007

Hi Deis :) Hey that’s not fair either, your site looks really good ! :)

Also, I think it is a good idea to let people export by just linking to you hosting. I come from a very server-centric world, so I implemented a fairly cumbersome export system. That makes it kind of harder to try out, unless you control the entire server.

One thing that I (god, now _i’m_ critizing people. Sorry) I think would make the site easier is if you could separate the connections and the “page” so to speak. Right now, it feels like the final page will cotnains arrows and options as well.

.. on the other hand, that makes it easier to understand what is happening.

Cheers,
PS

Comment by peter svensson — October 23, 2007

@peter and Deis: both good starts. I’d like to invite you both to contact me at ryan dot gahl at nthpenguin dot com — and please check out my blog linked in my signature here. We’ve been developing a full blown widget and mashup platform for over 2 years now, with plans to launch in 08. We have tons of great connections and partnerships, and are _always_ looking for people to bring into the fold. You share a common vision with us, and I’m sure there are ideas you have about how such a platform should behave that we’d love to hear about (plus adding capable partners is a crucial piece of our execution plan). As for constructive criticisms, Peter I’d say you have a bit of work to do with initial page load optimization and resource lazy loading (your demo took quite a while for me to load), and you both could benefit from the touch of a good designer (please note, the nth penguin website is currently undergoing such a touch, we just hired a new in-house designer — this has always been viewed as critical, just had to wait until now due to funding considerations)… Design, though needs to be more than some cool graphical elements. Getting the intuitive interface flow down is one of the most important pieces of a system like this. After all, the whole aim is to make development easier. While this next bit of advice may be a bit simplistic, it might help you both out – default to step by step wizards for anything that you have a hard time making _dead_ obvious, as far as flow… wizards may be cliche to some, but they guide the user quite nicely through the howto of a new concept.

My blog, probably starting with “From Libraries to Platforms” provides a good high level understanding of what we’re building…

Comment by Ryan Gahl — October 23, 2007

Hi Ryan. I agree that my alpha does load very slowly and looks like lap-dancing rhino. :) I was really uncertain whether to show off what I had done so far, since most of the stuff is – as justly pointed out – behind the curtains. We might conclude that for any other budding entrepreneurs with something not quite done – take my advice and polish it up a bit. Don’t release it just yet. And yes, Wizards can be OK.

Comment by peter svensson — October 23, 2007

Does not work IE6 on Win98. Resolution: 1024×768

http://www.mashupstation.com/station/users/admin/jdacomposer_draw2d.html

Went to this URL and it looked like it was working real hard. But the windows were too big. The close button did not work on one. Tried to minimize, but that didn’t work. Moved a bunch of windows over to the left and saw a cryptic menu. Clicked on one item, but not enough room to understand the option. I’ve done very little with Mashups. Just iGoogle.com and a few other popular ones.

Are there minimum Browser Requirements? If so, any article, tutorial or review should lead with that information.

My advice: Answer the What Is It? question before you lanuch the beast. It loads slowly. Show a page of stuff created in your MashUp editor, with examples of great range. Do a brief FAQ. Have a link to it for the adventurous.

BTW: http://mashupmania.com/ also did not work in my browser. Just a logo and a blank page.

Comment by Steve LeBlanc — October 23, 2007

I would think the reason that ‘mashups’ are so popular — very, a new direction, the future — are that those who create the good and popular ones (flickr feeds, google maps, delicious hooks, etc) have written excellent api’s which are very easy to use, even by people with limited javascript (etc) knowledge. There is simply no need for this sort of product.

I would encourage the developers of “mashup platforms” to stop, and use their skill and knowledge to simply do good mashups.

Remember that developers don’t always like using other people’s frameworks, especially the ones that put all sorts of limitations on what developers can create — as the mentioned ones do.

Comment by jimbob — October 23, 2007

Hey Peter,
Thanks for the feedback – yes, I know the fact that the results are actually showing up in the mashup pipeline might be a bit confusing at first, but my original thought was to aim for a simple metaphore, where each object receives and produces data. I don’t know if you’ve noticed, but when wanting to publish a mashup, you have the option to hide the components of the pipeline that are not really interesting for the end user of the mashup (that’s what the ‘hide’ label’s for) – allowing you for example to only leave exposed an input widget, and a final widget. I know this doesn’t come seem straight-forward in the current implementation :-)

To answer Steve Leblanc: mashupmania only works with Firefox for now – not IE.

Ryan: I’m replying to your posting next. Feel free to contact me directly also at de ni s . a m se l em @ g m ail . co m, or DenisMenloPark on AIM.

Comment by Deis — October 23, 2007

In response to jimbob:
Closed platform are of limited interested. Obvious.
However open and expandable platform are of interest to people. Lots of people. You may have heard of Eclipse? (not comparing MashupMania to ecplise btw).
Mashup tools can make use of the official web APIs – in MashupMania, there are both widgets that are running with webscraping scripts, and backend components that talk officially to the web API of interest.

So, bottom line, I’ll simply disagree with your rather simplistic opinion that there is no need for [mashup] platforms out there. (And I am not trying to claim is a the perfect answer to that need). Please be more subtle in your next comment (if you make one).

Comment by Denis — October 23, 2007

In response to Ryan:

Ryan thanks for the encouragement and the feedback. I agree with you about the usefulness of a Wizard and the challenge of making a tool easy to use yet not lacking enough expressive power.
It looks like you have been thinking a bit about mashups yourself – and your team – so I would love to continue talking with you.
denis d o t amselem at gmail d o t com

Denis

Comment by Denis Amselem — October 23, 2007

Remember that developers don’t always like using other people’s frameworks…

— how about non-developers? How about an environment that allows using _whatever_ framework you’re use to, or none at all? Besides, in the end which frameworks you choose are much less important than the applications (aka idea implementations) that are built upon them.

especially the ones that put all sorts of limitations on what developers can create — as the mentioned ones do

— not speaking for the other tools mentioned, but just for our platform, WebWidgetry… we certainly do not place limitations on idea implementers (aka “developers”), because you can use the tools and wizards and modeling diagrams if you want or you can drop down into code mode if you want (like any good IDE). In fact, this whole movement is about REMOVING limitations which, again, NON DEVELOPERS have insomuch as they have a great idea but currently cannot implement them due to lack of easy to use tools to build and deploy on a hosted end to end platform, and also limitations DEVELOPERS have insomuch as they need to be able to express application designs _rapidly_, and _rapidly_ build out prototypes which are secure, cross platform, with inherent interoperability and extensibility. The old way is: come up with an idea and either develop it on X (server) technology if you know how to code, find someone to help you (and then have a lot get lost in time and translation) and then figure out where to host it and how to market it, or give up after failing to convince anyone who has the means to help you get it created. The new way is, think up something, search the (Web) platform for similar stuff that may already be out there that’s close, and either use that as a base or start from scratch but either way be able to express your concepts visually, intuitively, and in cases where things get too hard, pull in members of an active community to help (with live collaboration tools), and then… instead of hunting down a host and figuring out all the deployment stuff (which a non developer may find daunting also)… hit “Save As” and choose “Facebook App” or “Salesforce.com App” or “Whatever.com App” or “My Private App” or… you get the picture. This is not about a _development toolkit_ – it’s about enabling people with ideas to get them created and consumed as easily as possible… it’s about removing barriers that technology has placed on us (ironically) by (also ironically) using technology to make it easier. The work being done today by peter, Denis, ourselves, Coghead, Synthasite, Teqlo, Microsoft, Google, Salesforce.com, Facebook and more… this is important stuff. I guess you either get it or you don’t – but there is no question that this is the way things are heading.

Comment by Ryan Gahl — October 23, 2007

Ryan,

“After all, the whole aim is to make development easier”
— R. Gahl

It seems your bit about ‘developers’ is semantics gone wrong.

‘The way things are headed’, if you want to speak that way, is demonstrated by companies like Amazon and Google building useful services that anyone can use, usually free, at worst for a minimal fee.

The idea of taking something with huge value (amazon’s server net/on-off line distribution system, google’s server net/data) and instead of keeping it close to the breast and using a team of lawyers to protect your secrets (ibm, microsoft) “losing” that value up front and banking on the ongoing service profit of exposure (in several senses) is the great, brialliant, business idea. It also works nicely for personal uses, which are usually allowed to be free (like gmaps).

This is “the big idea”. It isn’t people creating javascript IDE’s. That is anything but brilliant or innovative. It’s copying the tools of a dead branch of the product tree, badly. Google — integrated software suite online that anyone can use directly, *or improve indirectly for fame and/or profit*, is genius. It enhances the status, wealth, position, and prospects of its contributors.

“The way”, in other words, is increasing demand in markets for a specific good, and profiting off the delivery mechanism and/or supply of the good.

The products mentioned on this page do not do a better job of growing the number of people using mashups than products which already exist. Dreamweaver, for instance.

The products mentioned on this page are web-based. The functional complexity of a category-shaking product is not achievable along a reasonable timeline using that technology, as your own 2 year struggle attests.

Salesforce provides a world-class product online — the very, very first to succeed at it, more than a decade ago. Facebook, you will notice, presented a simple API, which seems to have worked out well. Google? Microsoft…Sharepoint? Amusing, placing yourself in that company. Coghead, Synthasite, Teqlo may ultimately provide a useful service to some people. I have doubts. I certainly have doubts about the products on this page which (fail) to accomplish a fraction of what those services aim to provide.

Regardless, defensiveness is acute around here. Go ahead and spend the salad days of the web-software revolution building products to help people join it … to be delivered after the inevitable consolidation and hardening of the market occurs. Or use some available api’s and put them to a better use than other people have. Up to you.

Comment by jimbob — October 23, 2007

@jimbob: Enjoy your preconceived notions. You are of course, wrong. Have fun watching.

@peter and Denis: looking forward to having an off Ajaxian discussion with you guys. I certainly appreciate the work you have put into what you both have done. Certainly room for improvement, but wonderful proofs of concept to build out your ideas from, and in the process learn a lot :)

Comment by Ryan Gahl — October 23, 2007

Hi, just a quick morning commentary to everyone; I mention in my blog entry that JDA Composer was only tested on FF, that info slipped when I wrote the actual post. Sorry for that. Also, Neither JDA Composer, nor MashupMaina is visual-only. I have for instance a fairly capable javascript code editor which lets you manage function, edit code from scratch and create components by isntrument if and when you choose. Lastly, I agree that the idea is to make development easier. Think like this; When was the last time you coded your Ajaxified web-site in Assembler? Case closed. :) Also, I’ve added the FAQ in a FloatingPane right on top of everything that I hope can make it easier to grok atm. Thanks for all the feedback, gotta wake the wifes and kid.

Comment by peter svensson — October 23, 2007

jimbob: wow. That was one long bitter sounding passive-aggressive comment – either the results of a failed experience in a related area, or motivated by some other agenda – could you disclose who you are working with/for, and if possibly it relates to web apis, or mashups? Just wondering. Or do you have a website that provides a web api that you wish people would use more as opposed to grabbing data off the site directly… Let’s see, are you upset also at the popularity of the much simpler REST approach as opposed to the other so cleverly more complex remote apis?
I don’t understand how facilitating the creations of some mashups for some people goes against the current trend of freedom of access and added value to already existing content. You seem to contradict yourself – and remember, you are the one making absolute claims here – not us – so your argumentation logic needs to be real, as opposed to being based on assertive tone.
I do not think there’s much defensiveness here – just people appreciating the challenges of a strong-headed and extreme position. Anyone working on cutting edge web technology knows there’s always a risk to developing tools or applications in a vaccum, or bubble of same-minded people, each reinforcing the other that the is a need for it. However, never Peter nor I, even came close to have made any big claims about our tools – just some genuine work put out there for people to give feedback on. Hmmm, which is what you did, true, but somehow, the harshness and unfairness (you obviously have not taken the time to evaluate either tools, nor do you know anything about
Ryan’s – otherwise you would have realized that official web apis are still usable in those tools – something I mentioned already but that you choose to ignore in your last response) – so, anyway, the quick unfair judgment you apply, again, can’t help but make me think there’s more to your comments than meets the eye. Still can’t decide if its more of a business motivated bias, or simply a personality issue.
Anyway, like Ryan suggested: sit tight on your web api, and watch things happen. or not. But try and take it easy in the mean time.

Comment by Denis Amselem — October 24, 2007

Enterprise Mash-up Developer JackBe Gets 9.5M VC Infusion
http://www.ebizq.net/news/8595.html?rss

Comment by Denis Amselem — October 24, 2007

Someone should tell them there is no need for this stuff… jimbob, sick’em!

Comment by Ryan Gahl — October 24, 2007

Denis. I suppose you should look up what “passive-aggressive” means. Made some points about markets and user needs. Straightforward. Passive-aggressive is more like this:

“That was one long bitter sounding passive-aggressive comment – either the results of a failed experience in a related area, or motivated by some other agenda – could you disclose who you are working with/for, and if possibly it relates to web apis, or mashups? Just wondering. Or do you have a website that provides a web api that you wish people would use more as opposed to grabbing data off the site directly… Let’s see, are you upset also at the popularity of the much simpler REST approach as opposed to the other so cleverly more complex remote apis?”

Let me rip apart your attempt at argumentation.

“I don’t understand how facilitating the creations of some mashups for some people goes against the current trend of freedom of access and added value to already existing content. You seem to contradict yourself – and remember, you are the one making absolute claims here – not us – so your argumentation logic needs to be real, as opposed to being based on assertive tone.”

1. The point of all my messages is that building bad software on the wrong technology to place an unneeded IDE in front of developers who could much more easily use the SOURCE api’s is a bad idea, will not work, will fail, will be a waste of time. The reasoning is that developers will not use something that is a) unnecessary; b) badly done; c) difficult to use.
2. Therefore: You are not facilitating anything. Clear? How many man-hours have you put into this? A good developer will be paid circa $75 an hour. Multiply. That is money you have deprived yourself of. This in no way hurts me. It actually helps me. It hurts you. Which is my main point.

“Anyone working on cutting edge web technology knows there’s always a risk to developing tools or applications in a vaccum, or bubble of same-minded people, each reinforcing the other that the is a need for it.”

a) You are not developing tools in a vaccuum, you are not the first, and indeed, what you are doing has already been done, better, by existing desktop applications. That ‘vacuum’ is actually being filled with history, options, considerations, facts, arguments, information. You are choosing to ignore them. Perhaps you enjoy the romantic idea of being some distant genius who ‘one day’ will change the world. That’s noble.
aa) “Cutting Edge” is a marketing term used by people whose product is obsolete.

“However, never Peter nor I, even came close to have made any big claims about our tools – just some genuine work put out there for people to give feedback on. Hmmm, which is what you did, true, but somehow, the harshness and unfairness (you obviously have not taken the time to evaluate either tools, nor do you know anything about”

1. You haven’t made any big claims? Have you made any claims? You’ve been featured on Ajaxian. Was this a wasted slot? Is your product really just some jokey affair? Was I wrong to take it seriously? Are we to understand that you don’t ultimately care about releasing your product, or how good it is, or whether it is useful to us?
2. By what proof can you make the claim that “you obviously…tools”? Do you know about the long tail? the 80-20 rule? How forums on sites get used? It is probable that 98% of the people who read your post don’t respond. I’m one of those who do. I do this all day, research, and categorize, predict and suggest. I’m one of the few people who actually have suffered through loading these sites. And trying to use them. And being completely confused as to how this is better than me using a prebuilt widget that I can get for free, or googling “adding news feeds to website php” and plugging in what i find. Or simply using something like Dreamweaver. And you seem to be equally at a loss. It is easy — EASY — to speak in the abstract about how ‘it’ is ‘all’ going to ‘change’ and ‘this’ is going to ‘help’ ‘people’ ‘create’. It is much harder to explain what something *does* that is a benefit to anyone.

If you are lucky enough to get an investor, and that investor says “hey, this is really hard to use”, are you going to insult them, say they haven’t “tried hard enough” or are “just passive agressive” or “just don’t get it”? If the user doesn’t understand the value of your product, this is *your* problem.

@ryan
Surely you’re not a) Claiming that your stuff is like their stuff, or b) That just getting investment somehow validates an idea?

If a) : well, it seems you’ve lost the race, buddy. pack it in. too slow.

If b) : Conservatively, 50% of the funded dotcoms in the first bubble failed.

Comment by jimbob — October 24, 2007

Jimbob, I would like to comment a bit on your first point, if it’s OK. You wrote;

“1. The point of all my messages is that building bad software on the wrong technology to place an unneeded IDE in front of developers who could much more easily use the SOURCE api’s is a bad idea, will not work, will fail, will be a waste of time. The reasoning is that developers will not use something that is a) unnecessary; b) badly done; c) difficult to use.”.

I agree wholeheartedly that it is a very bad idea indeed to build bad software on the wrong technology and to use and unneeded IDE. Right on the mark. Those things were actually my prime motivators for starting my project in the first place.

Then I must admit don’t follow your argument entirely. It might be that I’ve missed the point completely, but do you mean that not using the SOURCE api’s in any way does not work, will fail and be a waste of time?

That would imply that you are against any kind of abstraction on top of the SOURCE api’s, like Hibernate, or wrapper classes for .Net to use Amazon.com’s api’s, or why not visual designer (like creating the UI in Visual Studio – which in spirit is akin to what I’m trying to achieve, but on another scale).

My epiphany (if you could call it that) was that people spend so much time thumping their chests about how big and strong (convert to brains here) they are because they can write an entire pet store in MACRO-10 (showing my age, I know :), while a couple of guys down the row is doing the exact thing in one tenths of the time, with easier maintenance to boot.

I think that what you are representing is very much the non-thinking, knee-jerk reaction of the same kind very skilled and strong programers had in the nineties when kids started using interpreted, slow bloated, index-checking languages. It simply can’t work! It shouldn’t be allowed! :) et.c. I think the main point both me, Denis and Ryan are trying to express is that the only thing that counts is the bottom line: What did you build, what could it do, how long did it take, and how much does it cost to maintain. If Making things easier to code while keeping the possibility to dig down when you need it is a bad thing, erase Eclipse/VS from your disk and see how far you get.

Comment by peter svensson — October 25, 2007

Actually, jimbob, our stuff is quite a bit better than theirs. We build platforms for our customers, our SaaS providing customers who pay us a lot of money for our expertise and our technology. Now we are exposing our technology in a general forum for general consumption. You are entirely uninformed as to what we have and who we are and who are customers are and partners, etc… we have no public demos out there yet and I gather that you have not read my blog to at least get the high level overview of us, so I have no idea where you think you’re getting any of the information with which to deride our efforts. In the context of this thread, sir, you are a troll.

As I said, have fun watching.

Comment by Ryan Gahl — October 25, 2007

Hey Man,

I wrote a JavaScript IDE in JavaScript and know how tough it is. Regardless of what anybody says here, good work. It must have been really tough to get to the point you are at. Keep up the good work!

Matt

Comment by Matt Stark — October 25, 2007

So, apparently, you current occupation consists in browsing the web, and providing your self-proclaimed enlightened opinion on other people’s work. Fair enough, critics are the bottom feeders of those who try to create and innovate.
You did not reap apart my argumentation – you simply confirmed the overall uneasy feeling about your personality (an interesting mix of articulate and rhetorical skills diluted with lots of aggressivity). You are to technology what Fox’s so-called journalists are to the news world (albeit a sad joke). And your fear of innovation and desire to stick to tradition-like and time-proven techniques might be the perfect foundations for a Conservative Technology Party. …
Thanks for the entertainment, I’ll now go back to actually building imperfect things.

Comment by Denis Amselem — October 25, 2007

Peter Svensson is back in the online IDE business with a new interactive workbench called Bunkai.

Peter formerly created JDA Composer which he claimed “tried to do too many things at once, and so it was hard to understand at first glance.”

It is good to see that M. Svensson has vastly improved the user experience, and seems to be (unlike several others on this thread) actually cognizant of the user when creating software. Too many things at once is bad; hard to understand at first glance is bad — having understandable interfaces is much more important than the egos of self-aggrandizing script kiddies who like to take credit for the intelligence of real innovators by writing a murder of useless and convoluted “hooks” into good products and painting themselves innovators because they “mash things up” — as you might call an inexperienced child an ‘artist’ because they can smear mashed potatoes over everything in cute and “novel” ways.

Here we have a product where the user can use a good editor (it’s about time people start using editarea, it’s only been like 2 years) to do somewhat useful things (see what they’re coding will render as, test services). I still can’t see this as becoming super-popular (on its own it continues to believe developers need special IDE’s to use simple services), but this at least will be a useful add-on to a larger project. It may be an idea to create a proper ‘dojo super-editor’ that can be applied to any website (read in pages via some DOM object on server-side or otherwise, note pages with dojo code, determine, edit them on the fly, track changes, etc.). This would be useful to someone. Sell it as a service and make a few hundred (thousand?) per year. How about one of these to create/edit facebook widgets?

Comment by jimbob — January 7, 2008

Leave a comment

You must be logged in to post a comment.