A WorkLife FrameWork Blog
 

About A WorkLife FrameWork | Purchase

A MathGroup Posting

Posted on: Sunday 6/3, 2007;  10:03 PM

To: mark.coleman
From: David Reiss
Subject: Re: Developing Applications using Mathematica


Hi Mark,

Since no one else has chimed in on this perhaps I will take a crack at it.  I think though that some of what I will say involves a bit of conjecture and also is tingled by what I have been doing lately (http://scientificarts.com/worklife).  However perhaps it can lead to an interesting discussion, and also perhaps attract some additional comments by the good folks at WRI.  

Your questions are particularly pertinent now that Mathematica 6 is out.  The lines that were somewhat blurred previously are now blurred fully, and the expectation is that deployed applications with Mathematica will become quite commonplace as time moves on from the May 1st release of M 6.

Of course I am particularly interested in this from both a personal and business perspective because of http://scientificarts.com/worklife which I intend to continue to develop--it's the main tool that I use to interact with Mathematica, and it's also the main tool I use to stay within Mathematica as much as is possible so that I can do my work the most efficiently (and also, I have to say, the most enjoyably).

As for the question in your second paragraph--taking that first--I suspect that the long term plan for Mathematica Player is exactly what you are asking about.  In the past WRI made use of a technology for creating Custom Mathematicas, and this was what they used for creating Calculation Center, NKS Explorer, Mathematica Teacher's Edition, and so on.  I suspect that the plans for Mathematica Player--making use of the interface elements of Mathematica 6 (and in particular functions such as Deploy that allow one to **distribute** interfaces in a way that they cannot be modified other than the specified  interface elements such as buttons, check boxes & c) --are to allow for the creation and deployment of Mathematica applications that do not require the purchase of a full-blown Mathematica.  Of course the initial examples of some of this that simply make use of Manipulate are the 1300 plus small applications that are on the Demonstrations site.

So, in a word, I think that the answer to your second paragraph's question is "yes."  After this, there are additional words and questions  that have to do with when WRI will have the infrastructure (including legal License specifications) in place to anoint applications intended to be run under Mathematica Player for various potential  types of distribution.   Getting Mathematica 6 out was quite a feat, so I expect that having the full infrastructure for deployed applications based on Mathematica 6 and Mathematica Player in place is one of the things that is intended for sometime in the (hopefully near) future.

There are two questions, I think, in your first paragraph.  One has to do with building applications in Mathematica directly and the other has to do with building applications that rely on Mathematica for their internal computations.  Also perhaps a third is the use of Mathematica to prototype an application.

One of the most obvious ways to use Mathematica is through webMathematica.  I have created several such "enterprise" applications in the past for customers or employers.  Usually these are to some fairly definite specification rather than as a general-use "tool box."  Of course behind the scenes is a Mathematica package that provides the functionality, and in that sense it is a toolbox that can be expanded arbitrarily with a webMathematica deployment making use of it if an HTML rendition of a user interface can be created that suits its needs.

webMathematica is quite powerful, and if the interface that you need for a deployable application is not too sophisticated and only needs the elemental HTML form entities, then quite powerful applications can be created and deployed--and they can quite easily be linked to a back-end database using Database Link if need be  (which is what I did in one of the webMathematica apps that I created for a client).

Another way, of course, is to create an application that requires a Mathematica Kernel and FrontEnd to run.  All traditional add-ons are like this, and though I don't know WRI's pricing for network or site licenses, the cost per CPU process will certainly not be anything like the price of a single license for a individual Mathematica. And, if it is unlikely that more than some small fraction of the 1000 users will be using the application at any one time, then a network license with the number of processes optimized to the expected traffic would possibly make sense.

Another possibility comes to mind (and again is one which I have used in the past).  This is that Mathematica is an ideal environment in which to prototype the functionality of an application (as my daughter might say "well, duh!").  And, again, with the interface elements of Mathematica 6, this extends well beyond the internal algorithmics to a very arbitrary space of possible user interfaces.  And I suspect that there will be considerable exploration of the space of possible user interfaces that will be catalyzed by Mathematica 6.  (And this may well blossom as a field in itself.) This is both because the creation of user interfaces is **very** easy in Mathematica 6, and also because how one might think of user interfaces is greatly expanded from what one has been able to do in the past.   

After all, in Mathematica, user interfaces are expressions, as is everything else.  And this is the most powerful, and new, aspect of it all.  Exploring user interfaces--the space of user interfaces is indeed very NKS-like, which is certainly not surprising.

To be fair, in Mathematica 5.x (and earlier) there were user interface elements that were quite powerful because of the fact that they are (and they are still there--Notebooks and buttons) themselves expressions.  And in http://scientificarts.com/worklife I took these tools about as far as I could to expand the reach of Mathematica into areas that are helpful to folks.   But the new elements in Mathematica 6 will allow me to take this **much** further.  

So this also gives a sense of my experience with creating "non-academic" applications.  It is very doable, and the scale can be quite broad (http://scientificarts.com/worklife has about 50,000 lines of Mathematica code).  

And I think that the option of deploying applications intended for broad deployment would be best done using Mathematica 6 and Mathematica Player.  This would also --given the speed with  which one can create applications in Mathematica--make the turn-around time for modifications and enhancements very much quicker than with any other technology that I know of.

It would be nice to hear from the gentle (and incredibly hard working) folks at WRI what the possible time line is for this approach.

I am sure that discussions with the WRI partnerships group could make the possibilities for this  clear enough so that you to make a decision on whether and how to bring this idea to your organization .

Of course I'd be happy  to help with this if you wish. (Consultants always have to say that...)


....hmmm, I seem to have gone on here a bit in a very bloggish way.  I think that I will also place this note on http://scientificarts.com/worklife/wlfwblog/  .


I hope that this helps,

David


****************************************

On Jun 2, 4:19 am, "Coleman, Mark" <Mark.Cole...@LibertyMutual.com> wrote:
> Greetings,
>
> I'm curious about the feasibility of using Mathematica as part of large-scale
> business application within my company. I know there are various ways
> one can make use of Mathematica kernel functionality using non-Mathematica user
> interface elements, e.g., via MathLink or WebMathematica. I was wondering if
> anyone could share experiences they have in building applications --
> particularly in a business rather than an academic environment -- using
> Mathematica. For my project, we need to distribute an application to over 1000
> users across the U.S. If I could use Mathematica as the calculation engine, the
> development process would be orders of magnitude simpler. I know that in
> theory this sort of this is possible, but I'm very curious as to the how
> it might be effectively done.
>
> And a follow-up question. Given the interesting new dynamic interface
> features in Mathematica v6, could one build the entire application in
> Mathematica, user interface and all, and then deploy it on a large scale
> to non-Mathematica users?
>
> Thanks,
>
> -Mark



** This email composed from within Mathematica using
** A WorkLife FrameWork for Mathematica by Scientific Arts
** http://www.scientificarts.com/worklife/



212536852413829694472920688475183195322EFS297257748892586079684913948814435886918

--

<><><><><><><><><>><><><>><><><>
  Scientific Arts, LLC:           

Communication, Strategy, & Creative Services
for the Pure and Applied Sciences  
                                    
  http://www.scientificarts.com  

A WorkLife FrameWork is now available at  

http://www.scientificarts.com/worklife
                                    
David Reiss, Ph.D.                      
Bio: http://www.scientificarts.com/biography/profexp.html   


*********************
This message and any attachments, may contain confidential and/or
legally privileged information.  If you are not the intended
recipient of the message by the original sender, please destroy it.
Message and attachments Copyright (c) 2007, all rights reserved.  Any
unauthorized dissemination, distribution or copying is strictly
forbidden.

Permalink

Recent Posts

Blogged From
A
WorkLife FrameWork

6/3, 2007; 10:03 PM:
A MathGroup Posting
5/28, 2007; 9:33 PM:
A WorkLife FrameWork is now compatible with version 6 of Mathematica
5/22, 2007; 9:36 PM:
Email Analysis Tools
5/22, 2007; 9:27 AM:
The Palettes Menu
5/20, 2007; 11:14 PM:
Soon, very soon...
5/3, 2007; 11:09 AM:
Mathematica 6 Released: A WorkLife FrameWork 2.0 to follow very soon...
3/21, 2007; 1:50 PM:
A WorkLife FrameWork mention on MacinTouch
2/22, 2007; 1:40 PM:
More screencasts...
2/19, 2007; 12:42 AM:
New Screencasts
12/30, 2006; 7:51 PM:
Organizational Choices
11/26, 2006; 10:54 PM:
Updated Version of A WorkLife FrameWork.
11/10, 2006; 12:30 AM:
A quote and a testimonial...
11/6, 2006; 2:09 PM:
Version 1.1 on its way
10/31, 2006; 3:32 PM:
Another blog mention of A WorkLife FrameWork
10/23, 2006; 10:54 AM:
Finding A Diary or Notebook
10/10, 2006; 9:45 PM:
At the Wolfram Technology Conference
10/8, 2006; 11:35 AM:
The Wolfram Technology Conference
9/27, 2006; 10:51 AM:
Menu Items on Custom Palettes
9/21, 2006; 10:50 AM:
A Tip: Multiple disks or partitions
9/20, 2006; 3:57 PM:
A bit of Blogosphere notice
9/18, 2006; 9:24 PM:
Opening a set of files
9/14, 2006; 11:25 PM:
An Email Trick--slightly advanced
9/14, 2006; 11:08 PM:
The most current version...
9/11, 2006; 1:00 PM:
Finally Released!

Archive


Links
Mathematica
Mathematica Google Group
Scientific Arts
WorkLife

 

 

All material on this website Copyright © 2005-2007, Scientific Arts, LLC.