Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Drag & Drop Development 1

Status
Not open for further replies.

lespaul

Programmer
Feb 4, 2002
7,083
US
In Thread654-1393225 an off topic discussion was spawned about how development these days isn't programming...that because of the reuse of components, most development is drag and drop and there's not much programming involved (caveat: there were plenty of posters who disagreed with the above position). Subsequently today, I came across Iceberg on Demand, which states on the main page:

[tt]What is Iceberg?
Iceberg is a 100% web based platform for building, sharing and selling powerful business applications.

What can you do with it?
Build or configure your own apps using workflow, forms, reports, lists, web services, views, relational tables, charts, calendars and much much more...

How to start?
Iceberg comes with several powerful free applications for HR, CRM, Project Management, Rostering, Bug Tracking and more..

Then what?
Run your applications on our enterprise SAS-70 platform, sell them via our exchange or share them for free [/tt]

What are the opinions out there on development like this? Do you think in 5 years most technical users will be using something like this to develop "Enterprise Applications"?

Leslie
 
I rather doubt it. I just don't think that this will be able to provide the level of customization that most businesses that I have encountered need.

There is also the matter of security. Where I work compliance with HIPAA is crucial, and I don't know whether this could/would work in a situation like that. Then for many enterprise apps you also have permissions assigned based on NT logins (or login groups), how will it handle that? There isn't really much information available except 'we promise this is going to be the best thing ever'.

If I were a dba I would definitely want whatever mystery code they have out there hitting my db's. Who knows how it is connecting?

These are just a few of the problems that come to mind. I think that it does have a future though, hopefully getting the smaller projects for single users off my desk!

Great thread!

Alex

Ignorance of certain subjects is a great part of wisdom
 
No matter how easy you make the development tool, there will always be a need for competent developers. I have had many instances where a customer asks for feature A. After developing that, they then ask for feature B. However feature A and feature B are mutually exclusive. I then have to discuss with them the pros and cons of feature A vs feature B to help them decide what they really need.

The typical end user doesn't think through all of the nuances of how the system works. They shouldn't have to. Just like how most programmers are not expected to empty their garbage cans, handle accounts receivable calls, process payroll, etc., it doesn't make sense to expect the end user to handle the system design. Their time is better spent in other areas.

The end user be able to explain how the use (or will use) the system, and what results they expect. It is then up to the programmers to determine the feasability of this request and to make it happen. I would no more want typical end users to plan the detailed design of my company's software than I would want typical programmers to handle legal advice for the company.

Programming tools make it easier to do the actual implementation, which (in theory) allows programmers to focus on the more complex design work. Unfortunately, this also has a tendency to create pseudo-programmers, people who call themselves programmers because they know how to use the development tool, despite the fact that they should never be allowed to design as much as a hot fudge sundae. This is part of the cost of having those nifty tools available for the actual programmers.
 
Ditto on the AD interaction, Alex. And ditto on the legions of users who come to every progress meeting with the "wouldn't it be nice if it could do this" laundry list.

And finally, ditto on the database interaction. You'll touch my DB after your code/component passes MY tests, and not before. And just the thought of having critical enterprise data hosted outside my firewall gives me the willies. NO THANK YOU.

Phil Hegedusich
Senior Programmer/Analyst
IIMAK
-----------
Pity the insomniac dyslexic agnostic. He stays up all night, wondering if there really is a dog.
 
I feel thoroughly guilty about having triggered the Great Debate in that other thread...

It all started because I muttered about efficiency and old-fashioned, well-written small applications versus modern plug-together applications. I didn't intend it to be a fight, but there is a genuine conflict at the bottom of it.

If you want the fastest application, doing what you want in the best possible way, nothing will beat a well-planned custom application from a good programmer. But it will do what it says on the tin, and nothing else, and you might not be able to get it changed easily. And it will cost time and money to produce.

If you need an application tomorrow, need to be able to change the specifications this afternoon, and need it cheap, then plug-together development is the only thing that will do the job. The more wizzards the whizzier.

I didn't mean to start an argument, because I think both have their place. They're two different approaches for solving two different problems. But I also get angry when people claim to be programmers because they can use a website development package to write a website where things move around and irritate the hell out of 56K modem owners.
 
I was thinking about this on the way in to work this morning. A lot of how effective this iceberg will be depends on how granular the objects are. If they are not very, then probably what you have is medium sized blocks of procedural code that may or may not adapt well to changing conditions. If they are very, then you would need a very thorough understanding of the framework, but at that point you may as well just hire a programmer because as some of you guys know, there is a LOT to be aware of in there.

I also can't imagine that the code this iceberg thing churns out is all that much better than what you get from the wizards microsoft provides. As a result it will probably have some scalability and performance issues.

There is also the cost. I don't know how much the monthly per seat fee is, but I bet it would be cheaper to just have your program written across the sea somewhere and be done with it.

Security still stands out to me as the main thing that will prevent this from being widely adopted.



I don't do any programming whatsoever

Ignorance of certain subjects is a great part of wisdom
 
I'm glad to know that most of you also have the same opinion...my first thought was there's no way that a user (technical or not!) should develop an enterprise level application!

On the other end of the spectrum though is a drag and drop programming environment targeted at children developed by MIT called Scratch that tries to teach the basics of OOP and I believe that this is a useful teaching and training development environment. There are some pretty amazing programs that have been developed using drag & drop capabilities. But again, I believe that this is an educational tool.

Have any of you seen Scratch and what do you think of it?

ps lionel...Great Debates are good for us all, makes us really think about our position and how to defend it, can even make one reconsider and change their position!

Leslie
 
I have a Lego Mindstorms NXT kit (Legos + Programming + Motors = Awesome!!!), and they have a very crude programming language designed for kids to learn. While the process of programming in it annoys me (why can't I just script my program rather than dragging and dropping blocks?!?), it is actually a pretty good language. It allows those who are new to programming to get going easily, while offering more complexity (variables, subroutines, etc.) for more advance programmers.

It is far from being complex enough to be practical for business purposes, but it works well enough for animating my creations.
 
This keeps coming up, and every company that attempts to make "building enterprise apps 'easy'" is really not seeing the general irony of that concept.

If a tool is made for use by people with less skills, then people with less skills will build it. The ramifications that should be obvious.

I've worked with several tools that attempted this (most notably 'Genexus') which generated code and tried to be a drag and drop instant-enterprise-system builder, and in every case the generated code was so inefficient that it could't possibly withstand true enterprise use and load, not to mention the inflexibility of the applications.

I really don't think the magic 'build-anything-instantly' tool will be a reality, ever.
--Jim
 
Leslie - I think that the Scratch thing is a fantastic idea. I imagine I'd be doing alright right about now if I'd started learning about programming when I was 8 rather than 24!

Jim - I think you are right. In my limited experience, I have never run into a wizard generated program (to their credit, I have only seen 2 or 3, and I have seen far worse output from a couple programmers that preceded me) that could not be improved substantially by simply reading the code that comes out and making changes (not to mention some of the questionable choices that aren't related to code made by these wizards).

Unfortunately, purveyors of this modern-day snake oil will probably continue to thrive as long as people without knowledge of what it takes to develop software are making decisions on where companies are going. (Gee whiz, if I can write this great application myself what do I need a team of developers for?).

I think (hope) that the most widespread use will be by small business owners that can't afford an IT staff but want to have simple applications at their disposal.

KornGeek- that lego thing just sounds awesome. I know what I want for Christmas!

Alex

I don't do any programming whatsoever

Ignorance of certain subjects is a great part of wisdom
 
Jim, I agree with you. The thought of users who can't figure out where they store their own files doing development is just frightening! For one they don't understand the GIGO principle; they think if it has a user interface which doesn't give an error it must be right.

And yes, for enterprise applications that must be performance tuned this is laughable.

"NOTHING is more important in a database than integrity." ESquared
 
This is a great example of where things are going in a lot of respects. And yes enterprises do use tools like this in major ways and they've been around for years. Where I was working, they used a tool like this, whose name escapes me at the moment on about 80% of the business systems of the organization. The basic idea was rapid application development (or 4G languages - tell the app what you want and it does it, no logic, no testing, etc) - put in your fields, work flows, functions, etc, and the thing turned out source code.

Of course, the whole shop (management on down to the subordinates) was under a lot of misconceptions regarding such software (and to harken to the other thread, I don't think of this as programming either), to the point that they were literally snowed in. They always had to tweak things on the hardware to keep it going (three employees dedicated to that) - in fact you wouldn't believe some of the horrible SQL this thing turned out, not to mention the source. Back to competency again and how little of it there is on average these days. Not to mention the problems that are out there created by this lack of competency. RAD tool or not.

For laughs, the chief misconception they had: You can only do SQL based development by using such tools. It was a bit of a shock (for them to see it and for me to see the snow job) to one of them when I showed them a 57 line report program custom-written using SQL.
 
There have been claims that "real soon now" there will be no more need for programming and all you need to do to create software is input your business requirements into some system as a sort of flowchart and it will spit out a fully working system a few minutes later for at least a decade.

Such systems never work.
 
jwenting said:
Such systems never work.

... but it's a real pain trying to convince your non-technical MD that this is the case each time he gets told about one at whatever business networking lunch he's been at the day before .

Tim
 
yup. Especially if it was an expensive lunch paid for by a salesperson...
 
jwenting said:
There have been claims that "real soon now" there will be no more need for programming and all you need to do to create software is input your business requirements into some system as a sort of flowchart and it will spit out a fully working system a few minutes later for at least a decade.
Perhaps some day this would be possible, but only if the system is granular enough. Most importantly, it would have to be a professional programmer doing it. The "flowcharts" would be the new "programming language".

The hard part about programming is not writing code, it is the design. By the time I get the design details worked out, the coding is more or less automatic. So I could see a system that creates good code, when given an algorithm designed by a professional programmer.

I think our tools will evolve and continue to become more powerfull, but they will always need to be under the control of a professional.

 
you'd still need people to write the tools that allow others to do their drag and drop programming...

The sales story of course is that the manager can just write down what he wants in natural language and the generator will understand that and chug out a fully working system, obviating the need for those pesky programmers.
 
Then we could write down what the manager does in natural language and generate programs that manage our work without the need for those pesky managers :)

Tim
 
timw, let me know when you're done with initial development. I'll gladly test the app ;-)
 
You guys have users that can form a coherent thought about what it is they actually want? I always thought you could find them next to this guy
fantasy-unicorn-15.gif


[small]----signature below----[/small]
I don't do any programming whatsoever

Ignorance of certain subjects is a great part of wisdom
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top