Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #3631 > unrolled thread

Enterprise level Mathematica idea

Started by"McHale, Paul" <Paul.McHale@excelitas.com>
First post2011-07-10 09:04 +0000
Last post2011-07-15 01:22 +0000
Articles 4 — 4 participants

Back to article view | Back to comp.soft-sys.math.mathematica


Contents

  Enterprise level Mathematica idea "McHale, Paul" <Paul.McHale@excelitas.com> - 2011-07-10 09:04 +0000
    Re: Enterprise level Mathematica idea Armand Tamzarian <mike.honeychurch@gmail.com> - 2011-07-14 09:21 +0000
      Re: Enterprise level Mathematica idea David Reiss <dbreiss@gmail.com> - 2011-07-15 01:25 +0000
    Re: Enterprise level Mathematica idea Richard Fateman <fateman@cs.berkeley.edu> - 2011-07-15 01:22 +0000

#3631 — Enterprise level Mathematica idea

From"McHale, Paul" <Paul.McHale@excelitas.com>
Date2011-07-10 09:04 +0000
SubjectEnterprise level Mathematica idea
Message-ID<ivbpup$o5v$1@smc.vnet.net>
Rather than start with the how, I would like to describe the end user experience that we would like to shoot for as if I were reviewing something that doesn't exist.



When a user wants to start a new Mathematica document, they simply launch an empty notebook.  The user is likely not to know anything beyond a basic few commands.  However, to  perform complex tasks specific for their organization, they simply leverage the shared corporate library.  This library makes it possible to develop very powerful notebooks without the need for learning details of implementation that are unique to that  organization.



Example code of connecting to a database, retrieving product specific manufacturing information over a date range and with regard to a certain criteria is accomplished by one "corporate command", or cf*[].

myResults=cfPartsInfo[x"Product",x"Start date", x"End Date", x"Criteria from Result table"];
Max[myResults]
Min[MyResults]
Length[myList]



Note: Depending on the format of myResults, there may be cfMax[], cfMin[] and cfLength[].
Note: all parameters start with x.  This indicates there are multiple choices.



When the user selects cfPartsPassed[] from a auto-generated palette (derived from shared library), the placeholders or the parameters buttons.  When pressed, a list pops up which the user can select which product they want to look at.  The same for date and which criteria.

myResults=cfPartsInfo["Rocket MarkA,"June, 2010", "June, 2011", "Pass/Fail"];



Would return the pass/fail status of Rocket MarkA for the past year.

Required functionality to support this effort:



1. Ability for developers to write functions cf* and deploiy them to a central repository

2. Ability for developers to dynamically populate the popup list for parameter selection using repository code and network access
3. Support for auto-palette generation based on repository
4. Support for each user to "check for updates" to make sure they have latest copy of central repository

This provides critical functionality not available in any package I know of:
1. Users will need to learn very little about mathematica but will be able to leverage it well beyond their understanding.  I think this is true for all Mathematica users.  How many of could truly understand all the algorithms used in the optmization functions?  Why should the users be required to understand Mathematica when the corporate specific code can be developed once and abstracted from the user?



2. The developers will have a trivial way to "deploy" their code to the users.  When the users chooses to "update local library" Mathematica should populate the palettes accordingly and update any help files as approriate.



3. The line between corporate code and Mathematica base code could should be blurred to the point of being indistinguishable to the user.  This is targeted strongly at managers and engineers (data centric people) who will not learn Mathematica so they may benefit from it without knowledge of how it is being done.  This abstraction is critical to lowering the barrier for entry by the more classical user community.



4.  This functionality decouples the users from the changing (agile) landscape of corporate implementation of things like databases.  Change the database, update the code, publish to shared repository.  Users will get update notification on launch of Mathematica or possible push notification.



As we move forward in areas such as defense, it is becoming massively critical that we learn to do more with less.  We have no choice.  This is an indisputable trend.  This also means we need to force multiply.  We need to leverage the efforts of skilled developers to enable members of management and technical staff with minimal transfer effort and maximal transfer control.  Without this, we run a greater risk of failing at our mission.  I believe Mathematica has all the base requirements to do this.  We just need the enterprise level support to do it well.  To be truly effective, this support must be trivial from a user perspective (I.e. Windows update).



Paul

[toc] | [next] | [standalone]


#3701

FromArmand Tamzarian <mike.honeychurch@gmail.com>
Date2011-07-14 09:21 +0000
Message-ID<ivmce4$f8a$1@smc.vnet.net>
In reply to#3631
On Jul 10, 7:04 pm, "McHale, Paul" <Paul.McH...@excelitas.com> wrote:
> Rather than start with the how, I would like to describe the end user exp=
erience that we would like to shoot for as if I were reviewing something th=
at doesn't exist.
>
> When a user wants to start a new Mathematica document, they simply launch=
 an empty notebook.  The user is likely not to know anything beyond a bas=
ic few commands.  However, to  perform complex tasks specific for their=
 organization, they simply leverage the shared corporate library.  This l=
ibrary makes it possible to develop very powerful notebooks without the nee=
d for learning details of implementation that are unique to that  organiz=
ation.
>
> Example code of connecting to a database, retrieving product specific man=
ufacturing information over a date range and with regard to a certain crite=
ria is accomplished by one "corporate command", or cf*[].
>
> myResults=cfPartsInfo[x"Product",x"Start date", x"End Date", x"Criteria=
 from Result table"];
> Max[myResults]
> Min[MyResults]
> Length[myList]
>
> Note: Depending on the format of myResults, there may be cfMax[], cfMin[]=
 and cfLength[].
> Note: all parameters start with x.  This indicates there are multiple c=
hoices.
>
> When the user selects cfPartsPassed[] from a auto-generated palette (deri=
ved from shared library), the placeholders or the parameters buttons.  Wh=
en pressed, a list pops up which the user can select which product they wan=
t to look at.  The same for date and which criteria.
>
> myResults=cfPartsInfo["Rocket MarkA,"June, 2010", "June, 2011", "Pass/F=
ail"];
>
> Would return the pass/fail status of Rocket MarkA for the past year.
>
> Required functionality to support this effort:
>
> 1. Ability for developers to write functions cf* and deploiy them to a ce=
ntral repository
>
> 2. Ability for developers to dynamically populate the popup list for para=
meter selection using repository code and network access
> 3. Support for auto-palette generation based on repository
> 4. Support for each user to "check for updates" to make sure they have la=
test copy of central repository
>
> This provides critical functionality not available in any package I know =
of:
> 1. Users will need to learn very little about mathematica but will be abl=
e to leverage it well beyond their understanding.  I think this is true f=
or all Mathematica users.  How many of could truly understand all the alg=
orithms used in the optmization functions?  Why should the users be requi=
red to understand Mathematica when the corporate specific code can be devel=
oped once and abstracted from the user?
>
> 2. The developers will have a trivial way to "deploy" their code to the u=
sers.  When the users chooses to "update local library" Mathematica shoul=
d populate the palettes accordingly and update any help files as approriate=
.
>
> 3. The line between corporate code and Mathematica base code could should=
 be blurred to the point of being indistinguishable to the user.  This is=
 targeted strongly at managers and engineers (data centric people) who will=
 not learn Mathematica so they may benefit from it without knowledge of how=
 it is being done.  This abstraction is critical to lowering the barrier =
for entry by the more classical user community.
>
> 4.  This functionality decouples the users from the changing (agile) la=
ndscape of corporate implementation of things like databases.  Change the=
 database, update the code, publish to shared repository.  Users will get=
 update notification on launch of Mathematica or possible push notification=
.
>
> As we move forward in areas such as defense, it is becoming massively cri=
tical that we learn to do more with less.  We have no choice.  This is =
an indisputable trend.  This also means we need to force multiply.  We =
need to leverage the efforts of skilled developers to enable members of man=
agement and technical staff with minimal transfer effort and maximal transf=
er control.  Without this, we run a greater risk of failing at our missio=
n.  I believe Mathematica has all the base requirements to do this.  We=
 just need the enterprise level support to do it well.  To be truly effec=
tive, this support must be trivial from a user perspective (I.e. Windows up=
date).
>
> Paul

Paul,

Are you recruiting or hiring contractors for these tasks? It is a
little unclear from the post whether you are or whether you are
seeking guidance for your internal people.

(Does you company block emails that have links or attachments?)

Mike

[toc] | [prev] | [next] | [standalone]


#3731

FromDavid Reiss <dbreiss@gmail.com>
Date2011-07-15 01:25 +0000
Message-ID<ivo4uh$n7a$1@smc.vnet.net>
In reply to#3701
By the way, from a very quick read of your proposal, this all appears
to be completely doable in Mathematica.  It's just a question of
execution...

I'd be happy to discuss the project with you and flesh out its scope.

Best,
David
http://scientificarts.com


On Jul 14, 5:21 am, Armand Tamzarian <mike.honeychu...@gmail.com>
wrote:
> On Jul 10, 7:04 pm, "McHale, Paul" <Paul.McH...@excelitas.com> wrote:> Rather than start with the how, I would like to describe the end user experience that we would like to shoot for as if I were reviewing something th=
> at doesn't exist.
>
> > When a user wants to start a new Mathematica document, they simply laun=
ch=
>
>  an empty notebook.  The user is likely not to know anything beyond a=
 bas=
> ic few commands.  However, to  perform complex tasks specific for the=
ir=
>  organization, they simply leverage the shared corporate library.  Th=
is l=
> ibrary makes it possible to develop very powerful notebooks without the n=
ee=
> d for learning details of implementation that are unique to that  organ=
iz=
> ation.
>
> > Example code of connecting to a database, retrieving product specific m=
an=
>
> ufacturing information over a date range and with regard to a certain cri=
te=
> ria is accomplished by one "corporate command", or cf*[].
>
> > myResults=cfPartsInfo[x"Product",x"Start date", x"End Date", x"Criter=
ia=
>
>  from Result table"];> Max[myResults]
> > Min[MyResults]
> > Length[myList]
>
> > Note: Depending on the format of myResults, there may be cfMax[], cfMin=
[]=
>  and cfLength[].
> > Note: all parameters start with x.  This indicates there are multiple=
 c=
> hoices.
>
> > When the user selects cfPartsPassed[] from a auto-generated palette (de=
ri=
>
> ved from shared library), the placeholders or the parameters buttons.  =
Wh=
> en pressed, a list pops up which the user can select which product they w=
an=
> t to look at.  The same for date and which criteria.
>
> > myResults=cfPartsInfo["Rocket MarkA,"June, 2010", "June, 2011", "Pass=
/F=
> ail"];
>
> > Would return the pass/fail status of Rocket MarkA for the past year.
>
> > Required functionality to support this effort:
>
> > 1. Ability for developers to write functions cf* and deploiy them to a =
ce=
> ntral repository
>
> > 2. Ability for developers to dynamically populate the popup list for pa=
ra=
>
> meter selection using repository code and network access> 3. Support for =
auto-palette generation based on repository
> > 4. Support for each user to "check for updates" to make sure they have =
la=
>
> test copy of central repository
>
> > This provides critical functionality not available in any package I kno=
w =
> of:
> > 1. Users will need to learn very little about mathematica but will be a=
bl=
>
> e to leverage it well beyond their understanding.  I think this is true=
 f=
> or all Mathematica users.  How many of could truly understand all the a=
lg=
> orithms used in the optmization functions?  Why should the users be req=
ui=
> red to understand Mathematica when the corporate specific code can be dev=
el=
> oped once and abstracted from the user?
>
> > 2. The developers will have a trivial way to "deploy" their code to the=
 u=
>
> sers.  When the users chooses to "update local library" Mathematica sho=
ul=
> d populate the palettes accordingly and update any help files as approria=
te=
> .
>
> > 3. The line between corporate code and Mathematica base code could shou=
ld=
>
>  be blurred to the point of being indistinguishable to the user.  Thi=
s is=
>  targeted strongly at managers and engineers (data centric people) who =
will=
>  not learn Mathematica so they may benefit from it without knowledge of=
 how=
>  it is being done.  This abstraction is critical to lowering the barr=
ier =
> for entry by the more classical user community.
>
> > 4.  This functionality decouples the users from the changing (agile) =
la=
>
> ndscape of corporate implementation of things like databases.  Change t=
he=
>  database, update the code, publish to shared repository.  Users will=
 get=
>  update notification on launch of Mathematica or possible push notifica=
tion=
> .
>
> > As we move forward in areas such as defense, it is becoming massively c=
ri=
>
> tical that we learn to do more with less.  We have no choice.  This i=
s =
> an indisputable trend.  This also means we need to force multiply.  W=
e =
> need to leverage the efforts of skilled developers to enable members of m=
an=
> agement and technical staff with minimal transfer effort and maximal tran=
sf=
> er control.  Without this, we run a greater risk of failing at our miss=
io=
> n.  I believe Mathematica has all the base requirements to do this.  =
We=
>  just need the enterprise level support to do it well.  To be truly e=
ffec=
> tive, this support must be trivial from a user perspective (I.e. Windows =
up=
> date).
>
>
>
> > Paul
>
> Paul,
>
> Are you recruiting or hiring contractors for these tasks? It is a
> little unclear from the post whether you are or whether you are
> seeking guidance for your internal people.
>
> (Does you company block emails that have links or attachments?)
>
> Mike

[toc] | [prev] | [next] | [standalone]


#3724

FromRichard Fateman <fateman@cs.berkeley.edu>
Date2011-07-15 01:22 +0000
Message-ID<ivo4nq$n5t$1@smc.vnet.net>
In reply to#3631
On 7/10/2011 2:04 AM, McHale, Paul wrote:
> Rather than start with the how, I would like to describe the end user experience...

I think that what you are shooting for looks very much like the business 
model for several other software companies, where the basic core of the 
program is used as the support for libraries of applications and 
user-interfaces etc. etc.

The core program is low cost (maybe even free).
The libraries are expensive.

There are at least 2 math computing programs in this space, and several 
computer-aided design systems I am aware of. One can even argue that 
some of this sounds like spreadsheet software.

I think the question then becomes what is the value added if the core 
support includes Mathematica, rather than one of those other systems,
or even just a simple language support, perhaps a scripting language,
with essentially ALL the functionality in the library.

RJF

[toc] | [prev] | [standalone]


Back to top | Article view | comp.soft-sys.math.mathematica


csiph-web