The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

UI dev platform

I'm looking for suggestions on a UI development platform that would be:

1. very productive -- little/no coding
2. easy to deploy to end customers
3. allows very "rich" UI experience (i.e., it looks nice)
4. is potentially cross-platform in terms of any or all of Win, Mac, web, phone, etc.

#2 would seem to rule out Java and .Net.
#3 might point me towards Flash

Any ideas?  TIA
BillAtHRST Send private email
Tuesday, November 13, 2007
 
 
Bear in mind that Flash won't run on certain fashionable platforms like the iPhone, so avoid it if you care about that.
Iago
Tuesday, November 13, 2007
 
 
You obviously haven't seen how rich a Java application UI can get.

And I personally would not call the deployment of .NET or Java Applications "hard" unless you're targetting enterprise (which upgrade all their machines at one time and can potentially be standardized on a version that lacks features your app requires).
Nate Send private email
Tuesday, November 13, 2007
 
 
Sounds like silverlight or flash/air to me.
Ruatara Paapu Send private email
Tuesday, November 13, 2007
 
 
Believe me, installing ANYTHING that isn't part of the actual product itself would be a TOTAL show-stopper for the target market I have in mind.

For instance, Java apparently now likes to "auto-update" itself, for instance.  I keep getting "helpful" reminders that there's a newer version, and would I like to download and install it. Uh, no thanks. Oh, and by the way, quit asking.

That's one of the reasons I'm leaning toward a web-based platform.
BillAtHRST Send private email
Tuesday, November 13, 2007
 
 
Delphi.
Totally Agreeing
Tuesday, November 13, 2007
 
 
Flex? Mobile support is a few years away, but otherwise the stuff you're describing is what Flex was made to do.
andy
Wednesday, November 14, 2007
 
 
wxWidgets is a cross-platform toolkit ... their intro at http://wxwidgets.org/ says:
     
"wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature."
Totally Agreeing
Wednesday, November 14, 2007
 
 
Well, wxWidgets might mean a lot of coding.
Antony
Wednesday, November 14, 2007
 
 
I'm not sure what you're asking for.  You say "UI development platform" but you talk about being able to distribute it to end customers and you want no programming.

In a later reply you talk about using a web product to simplify things.

What, exactly, will this "UI development platform do?"  Will it allow you to create user interfaces without programming?  Will it allow you to write whole applications?  Will it allow your customers to customize the UI of an application you have written?

What are you trying to accomplish?
Karl Perry Send private email
Wednesday, November 14, 2007
 
 
My personal favorite is Tcl/Tk. It is arguably more cross-platform than any other technology -- windows, windows mobile, macosx, any  *nix variant, and others (OLPC too, I believe). There is a browser plug-in, though personally I don't find that to be a viable option.

Tk provides a very rich experience, and 8.5 which is in beta looks really great. Not quite as rich as all of win32, but for the vast majority of apps it is plenty rich enough. Where it falls down is in printing support, which is effectively non-existent without support from other programs.

Deployment can be trivial. The tcl runtime and your application files can be wrapped into a virtual filesystem that exists inside a single file. A complete application can be as small as two megabytes.

A graphical "Hello world" with a button can be done in as little as two statements. I have a windows notepad workalike that weighs in at 450 lines of code.

Tcl is an aquired taste though. It is extremely powerful in the hands of experts but some people just don't "get" the Tcl way of doing things, making the experience frustrating.
Bryan Oakley Send private email
Wednesday, November 14, 2007
 
 
Thanks, all.  The Flash/Flex/Air stuff looks interesting, and I will check it out some more.  Interestingly, this showed up in my mailbox today:

http://www.artima.com/weblogs/viewpost.jsp?thread=213902

Tcl/Tk may not be for me -- for one thing, I'm looking for more of a gui builder, but maybe...
BillAtHRST Send private email
Wednesday, November 14, 2007
 
 
If you want a graphical GUI builder, Tcl/Tk is probably not for  you. Most Tcl experts agree it's much easier to code GUIs by hand in Tcl/Tk rather than through a GUI builder. It really is quite easy.

Because of that, not many people have found the motivation to create such a tool. One exists (search for "Visual Tcl") but I've no experience with it.
Bryan Oakley Send private email
Thursday, November 15, 2007
 
 
Silverlight is the hot new cross-browser, cross-platform delivery platform from Microsoft: http://www.silverlight.net.

Just as importantly, Expression is the hot new tool for DESIGNERS to work on the UI (whereas Visual Studio is developer-oriented): http://www.microsoft.com/expression. Check out Expression Blend, specifically.

Good luck!

Disclaimer: I work for Microsoft. My opinions are my own.
Patrick Foley Send private email
Wednesday, November 21, 2007
 
 
"For instance, Java apparently now likes to "auto-update" itself, for instance.  I keep getting "helpful" reminders that there's a newer version, and would I like to download and install it. Uh, no thanks. Oh, and by the way, quit asking."

Java has been doing this since at least 1.5 days, you can turn it off in the Control Panel AFAIK.  Auto-updating Java isn't necessarily a problem for me.  The problem I have is the fact that it keeps the old versions on the hard drive and you can end up with several versions of the same JRE (at different update levels) installed at the same time, wasting Hundreds of MB (if GB) of HD space.

Personally, I use Windows Forms.

Was looking into WPF, but I can't install the Cider stuff for VS2005 because I updated to .NET 3.5 already and it breaks the CTP installer (changes the .NET Framework 3.0 versioning from RTM to SP1); so I will continue alone with WinForms.  They look good enough for my tastes.

I will reconsider Delphi when they update the VCL.  Some of those controls look like Windows 98 components.  Unacceptable seeing how long Windows XP has been released.
Nate Send private email
Friday, November 23, 2007
 
 
Nate,

The java "auto update" thing I can deal with -- but my target market would get majorly confused. (Not to mention that java has a pretty bad track record as far as backwards compatability -- can you say "deprecated"?). 

That's my point -- I don't want them to ever even SEE that message (and good luck talking about "Control Panel").

That's why I'm leaning towards some kind of web/net delivery mechanism where I can avoid installing stuff on their machines (as much as possible).
BillAtHRST Send private email
Tuesday, November 27, 2007
 
 
P.S.  I wouldn't touch anything from MS that purports to be "cross platform" with a ten-foot barge pole.
BillAtHRST Send private email
Tuesday, November 27, 2007
 
 
You can set it programmatically to not automatically check for updates.

Create a new REG_BINARY value under the HKEY_CURRENT_USER\Software\JavaSoft\Java Update\Policy key.
Name it EnableAutoUpdateCheck, and give it the 171 byte value that it contains in that key on your machine. (I pasted it below.) That stops the auto-update, and you can set this value during the installation of your software.

From an export of the above key from RegEdit, the value is

"EnableAutoUpdateCheck"=hex:01,00,00,00,d0,8c,9d,df,01,15,d1,11,8c,7a,00,c0,4f,\
c2,97,eb,01,00,00,00,83,34,41,61,5f,71,5f,41,ae,c0,eb,ce,91,86,73,e5,00,00,\  00,00,1c,00,00,00,50,00,61,00,73,00,73,00,77,00,6f,00,72,00,64,00,20,00,44,\ 00,61,00,74,00,61,00,00,00,03,66,00,00,a8,00,00,00,10,00,00,00,7c,86,d9,c2,\  75,ac,97,31,4a,78,bc,9c,fb,91,cf,73,00,00,00,00,04,80,00,00,a0,00,00,00,10,\  00,00,00,95,c7,53,0f,87,5b,ec,cd,49,b7,e6,3c,52,7b,16,f2,08,00,00,00,68,0c,\  ef,64,8d,38,1e,c3,14,00,00,00,e4,40,96,e2,03,e5,f5,ac,57,1c,17,40,6f,e8,56,\
a3,27,df,e5,88

The backslashes at the end are simply line continuation characters.
Ken White Send private email
Wednesday, November 28, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz