Is there time to apply some discipline to the codebase?

View: New views
10 Messages — Rating Filter:   Alert me  

Is there time to apply some discipline to the codebase?

by Peter Hutten-Czapski-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

During the OSCUS meeting Aart gave a demonstration of proof of concept
for using new tools (the Google Webkit) to develop the Alberta billing
module.  As anyone who has looked at Oscar code is probably aware
OSCAR has used a number of tools, languages, libraries etc over the
years, depending on the preferences of who was taking the lead.

While under the hood it looks somewhat... well you know..., this has
served us well in the past, especially when it comes to our
phagocytosis of code from other projects (Hylafax, mule, drugref,
hapi).  However code and projects evolve and now that OSCAR is so big,
it becomes a challenge for debugging, updating (and not breaking
dependencies) and dare I mention it, documenting (we do have that
elephant named ISO in the room).

An argument could be made to come to some consensus to pick just one
(for new code and for rewrites of existing modules).  The
demonstration certainly showed that OSCAR could be programmed in the
Google toolkit.  It is very shiny chrome, and has very nice database
binding, such that forms are updated without being completely redrawn
and so on.

There was no discussion of this at OSCUS and presumably the acceptance
of using the Google toolkit is left to David and Jay.  Hard for them
not to let code be committed in (yet another toolkit should be no big
impediment), but it is another matter to *gasp* enforce the tools and
libraries that we use to program with.

However structure is not necessarily bad.  We are after all now coming
out with releases on a schedule.  Is it time to start by defining the
tools that we support/endorse?

================
Peter Hutten-Czapski
Haileybury Ontario

"The attitude that ‘if rural people want these services they’ll have
to come to the city to get them’ is simply not acceptable…” (Newbery,
1999)

Before printing, think about the environment. Avant d' imprimer,
pensez à l'environnement.

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by Aart de Vries-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Peter for that. Finally we get some discussion on this list, and
I hope this thread will draw some more hard needed comments and visions.

Peter: Right on, and exactly in line with what I told John already when
I first started looking at the OSCAR code back in May: It doesn't take a
brilliant visionary to conclude by just looking at the current code-base
and the lack of documentation and project standards that OSCAR is the
product of a severely underfunded effort.
I'm astounded at how far OSCAR has gotten as far as it has, and it is
probably largely due to the fact that Jay works on it far after midnight
regularly, as well as others donating tons of private time. Our problems
are only going to get bigger fast if we don't get our act together: As
soon as we bring Alberta and Quebec Billing (and in my vision billing
modules for the other provinces and territories as well), users in these
new provinces will start to demand interfaces to other provincial
systems as well (like the Alberta Pharmacy system). In other words: the
rate of growth of the code base is going to accelerate, and with the
current absence of a project standards, the project will collapse by its
own success.

In the light of ISO, we will need a.o. the following things documented:
1 Architect
2 DB standards
3 Java coding standards (with Hibernate standards)
4 UI standards
5 How to set-up your development environment
6 Which versions of libraries and frameworks are used on the project
7Requirements
8 Test plan with test data sets, automated tests
9 Release notes (containing things like which Java/Tomcat/Database
version the project is released under)
10 User documentation (Manual and Online Help)
During the OCUS meeting the whole issue around the 2 user manual was
totally bogus: The User Manual is a deliverable of the development team
(as is online help, which is part of your UI-standards).

On Wednesday prior to the OCUS meeting, I had David Chan at my house,
and given him an extensive demo, a code run-down and showed him some of
the above documentation that I wrote while making my proof of concept.
At first his stance at documentation was: "Don't bother: Nobody keeps
them up to date, so they are not valuable anyways, so better not do it
all together". Probably this explains a.o. reasons why today there is
hardly any documentation. I said I disagreed with his vision: Documents
1,2,3,4,5,6 are fairly static documents. Together they will cost about a
month of initial effort of a senior developer to write, and thereafter,
these documents change only 5-10% year over year, so only little effort
is required to maintain them. As for the other documents: The
development-team will have to be disciplined enough to grow them with
each new function they make. The code base is now so large, that a
dedicated Analyst as well as a dedicated Software Tester are needed on
the project, and therefore these 2 positions need to be filled by very
senior people.
Regarding requirements, David's concern of them being unmaintainable is
partially valid, but it depends on how you write them. If you go full
flat out with writing requirements in UML with all kinds of fancy views
and diagrams on the object model, than yes David is correct. But
requirements can be written in many different ways: Choosing to work
with user stories for example lessons the burden significantly.
Since David got a feeling I have some affinity to writing documentation
because I see the value in it, he asked me whether I would be willing to
document the current OSCAR. No way: I think it is cheaper to clean up
first, and while doing that write your documentation. David told me that
clean-up is already on its way: For 2 years he secured $75000,- for this
activity (Jackson is on that).

Also because of ISO, we will probably have to take away the rights of
many people to check-in code into the repository. Code contributions
have to be moderated by a core full-time developer (paid positions).
This to ensure that the contribution does comply with the project
standards, and thereby that we are not risking our ISO certification at
a next audit. And this is not unusual: Most successful Open Source
projects work like that. Take Linux for example: Linus has assigned
specialists for various parts that make up the Linux system that
moderate code changes to the modules under their responsibilities.

As for the technology side: I choose GWT not because it looks so cool,
but mainly because it can lead to a significant reductions in both code
volume, as well as a significant reduction in technologies and
frameworks used. The demo you saw was running without me programming:
- struts
- spring
- JSPs
- HTML
- CSS
- JavaScript
The main technologies were Java and Hibernate. The fair number of
screens in the OSCAR application could be made with just what I had in
the demo, and can therefor with the helper-library that I programmed
myself, be programmed by intermediate level developers.
Note: I have to do write a bit of our own libraries to compensate for
wanting to get rid of Spring, but that should be overly difficult.

Another 2 senior developers will have to be present on the project with
HTML, CSS and maybe JavaScript skills to develop custom components to do
the appointment and e-chart screens. These developers also have to
moderate the intermediate developers doing the hibernate layer: I'm
currently working on hiding in the hibernate layer some of the
db-modeling errors that were made in the past, so that bad database
design isn't rippling through all the way into the business- and
UI-layers of the application. After this phase is done, the db can be
migrated easily: Only some Hibernate mappings will have to change,
without having to touch the vast majority of the code.

Don't pin me on GWT, there are other directions that can be taken for
OSCAR as well (http://www.icefaces.org/main/home/ to name but one). I
think a kind of OSCAR developer summit should be organized pretty soon
(before I start working on Alberta Billing), and maybe before Jackson
burns the 2x$75.000,-), in which developers as a group are going to
decide in which direction development should be taken.

All these activities come at a price. My initial ballpark figure to
realize all this is about $750.000,- annually on an ongoing bases. That
will give us at least 4 seniors, 2 intermediate people, their
hardware/network/telecom/traveling and ISO certification expenses. So I
have given that as an assignment to John, and we are hopeful about him
raising it.

Also by starting to think big, we might be more successful at
penetrating market share. In the OCUS meeting everyone was particularly
proud to be approaching 1000 users. But that is only roughly about 2% of
the Canadian market after 10 years of efforts. One can also take a
stance: Wouldn't we already be at 10 or 15%, if 3 years ago, someone was
smart enough to raise enough money to do all these clean-up's, do the
documentation, build the billing modules for all the provinces etc.
Especially after what David Daley brought to the table: Commercial
vendors will be offering EMR/EHR software and services for free (free
$$$-wise, but take valuable patient data as payment), and many
cash-strapped family physicians might fall into this marketing trap.
This would be an easy thing to do for these vendors, since some
provincial governments seem to favor ASP solutions. Above all, before
the governments will have a clue of what is going on, it will be too
late and they will not be able to revert the situation anymore. This
practice will be lucrative for those vendors, and they won't be
cash-strapped to fund their development efforts. So, aside from today's
short-slightness of both federal and the various provincial governments
to give proprietary vendors preferential treatment, OSCAR will face even
harder competition from vendors 'stealing' patient data. In this light,
I reckon that if we go on like the way things have been going, it will
take us a long long time to get to even 5%.

So regarding the not-for profit organization: Great in my opinion. The
current OSCAR was mainly developed, funded and run by McMaster with the
help of some grants. Universities however are places of education and
research. As a product of research, often excellent projects are
incubated at universities, and OSCAR can be easily qualified as one such
successful project. Universities have however limited resources to
sustain ongoing development: again OSCAR can be seen as a sad example of
this where current development activities (of taking a click away here
and there, or change some colors elsewhere) can hardly be earmarked as
'research' or world shocking novelties.

Regarding the board seats of this not for profit organization I was not
at all happy: The share of seats assigned to universities is
non-proportionally large. Also having no seats reserved for important
stake holder groups such as the vendors, and the software developers,
can be viewed as awkward at best. More than 80% of software projects are
known to fail in Canada. Since this corporation is not much different
from a software development company, some direct developer expertise
input into the board seems prudent (look at The Linux Foundation board
member list as an example). I think that David Chan is not the ideal
candidate to represent the development team: He is a professor of
medicine, not a full time IT professional who has kept up with modern
software development practices and strategies. Also since David is
attached to McMaster, there is a conflict of interests there.
As for the vendors: They invest a lot of personal time and effort in
OSCAR as well, and without them, OSCAR would not nearly be as big today.
Having vendor seat or seats in the not for profit organization seems
fair: They have a right to know which direction the development is going
to take, and the right to influence it as well. Their livelihoods depend
on it.
I'm also open to have someone on the board that is more of a business
person: A person that can think big, maybe a person with more marketing
experience. Aside from university professors like Dr. Martin Dawes, I
think a person like that can be very helpful in the current government
unfriendly OpenSource EMR climate.

For those developers who were not at the event, here is what I wrote to
Colleen to help her out with her minutes regarding the presentation that
I did:

"We are on the eve of the the 10th birthday of OSCAR, and OSCAR will be
around for yet another decade easily. Knowing this, and knowing the vast
progress that is being made in programming tools and libraries, I found
the time was ripe to look at newer technologies than those that were
available in the year 2000. Newer technologies that will allow us to
develop faster, write code that is cleaner, write less code: In short
code that is easy maintainable.

A fair few libraries/frameworks have already been added to OSCAR since
it's inception, and adding yet another one should not be done without
giving it due consideration, or just because the tool 'looks cool' or
for some other invalid reason. Once we do, the module build in it is
likely going to be around a long long time. So although I'm eying GWT
(Google Web Toolkit) technology for Alberta Billing in the short term, I
want to make sure that this toolkit could not just be used for the
billing module, but for other screens in OSCAR as well.

Hence I have been working on a prototype GWT implementation of a few
'old' OSCAR screens. This allowed me to focus on the technological
challenges that we always face when embracing a new technology, vs. me
having to both face these challenges and having to design the Alberta
Billing on top of that.

Goals Proof of Concept
1) New technology can run in conjunction with the old technologies
2) UI is as responsive as today's OSCAR
3) Load on the server is going to decrease
4) Network load is going to decrease
5) UI can be entirely multilingual
6) That the UI becomes more user friendly (short-cut keys, quick
navigation, live-update, asks to save modified data)
7) That fewer technologies are used to make screens than today
8) That screens can be made with fewer lines of code that are simple
9) That existing OSCAR screens can be invoked from the new
   technology screens
10) Single logon
11) The new screens log screen access as the old screens do
12) That the new screens abide by the same security restrictions as the
      old screens do
13) Documentation (online help, architecture, db-standards, java coding
     standards, UI standards)

The goals 1..9 have been realized to my satisfaction. Goal 13 is coming
along nicely, as I'm letting the documentation grow with my progress.
10..12 are not so exciting from a 'Proof of Concept' standpoint of view,
as I see little technical challenges in there: It is only a matter of
time until these will be completed.

By doing the 'proof of concept', I hope get buy-in from David, Jay and
others in the developer community, as well as from vendors and OSCAR
users. "

Aart

Peter Hutten-Czapski wrote:

> During the OSCUS meeting Aart gave a demonstration of proof of concept
> for using new tools (the Google Webkit) to develop the Alberta billing
> module.  As anyone who has looked at Oscar code is probably aware
> OSCAR has used a number of tools, languages, libraries etc over the
> years, depending on the preferences of who was taking the lead.
>
> While under the hood it looks somewhat... well you know..., this has
> served us well in the past, especially when it comes to our
> phagocytosis of code from other projects (Hylafax, mule, drugref,
> hapi).  However code and projects evolve and now that OSCAR is so big,
> it becomes a challenge for debugging, updating (and not breaking
> dependencies) and dare I mention it, documenting (we do have that
> elephant named ISO in the room).
>
> An argument could be made to come to some consensus to pick just one
> (for new code and for rewrites of existing modules).  The
> demonstration certainly showed that OSCAR could be programmed in the
> Google toolkit.  It is very shiny chrome, and has very nice database
> binding, such that forms are updated without being completely redrawn
> and so on.
>
> There was no discussion of this at OSCUS and presumably the acceptance
> of using the Google toolkit is left to David and Jay.  Hard for them
> not to let code be committed in (yet another toolkit should be no big
> impediment), but it is another matter to *gasp* enforce the tools and
> libraries that we use to program with.
>
> However structure is not necessarily bad.  We are after all now coming
> out with releases on a schedule.  Is it time to start by defining the
> tools that we support/endorse?
>
> ================
> Peter Hutten-Czapski
> Haileybury Ontario
>
> "The attitude that ‘if rural people want these services they’ll have
> to come to the city to get them’ is simply not acceptable…” (Newbery,
> 1999)
>
> Before printing, think about the environment. Avant d' imprimer,
> pensez à l'environnement.
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Oscarmcmaster-devel mailing list
> Oscarmcmaster-devel@...
> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>  


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by peter_hc :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Aart has a grand vision.  I am also frightened by the level of change
that he describes. I am cognisant that I have contributed but several
hundreds of lines to the code base, and am at best an amateur
programmer, and thus have little (or should have) little influence,.
However there are some things that can be done incrementally to change
the development modus operandi without increasing our resource needs,
and indeed reducing our needs for same as time goes on, and it doesn't
necessarily have to be done in the big P project fashion.

By example I don't agree that we need to depend on programmers to
write user documentation.  Most larger projects use technical writers
after all, and we have too few resources to hire either programming
nor technical writer time.  It would be a shame to ignore the
community which is willing and capable of writing a users manual - and
only needs a structure (the editor, a table of contents, a style guide
etc which we/they can develop them/ourselves.  All they need are
details from the programmers on how the help function will call the
pages)

I agree entirely that similar definition of programming structures
will improve the longevity of the project, and the sooner we do that
the easier it will be to become ISO compliant.  We don't need anything
more than will and a consensus on what the project needs to have in
the next two years from a development point of view.  I am glad that
Aart is not married to the Google Webkit, (I like it as well but that
is not the point), the question is what the lead developers that know
the project the best want to do.

For Aart there is some urgency.   I suspect that Aart will not want to
commit much code before there is some agreement as to what
framework(s) the project will be using in the near future, because
there is little point in using the Google Webkit, if Jay is thinking
of going to another toolkit in the next year.

That shouldn't rush the lead developers, but it does point out how not
enough structure can inhibit the project.


================
Peter Hutten-Czapski
Haileybury Ontario

"The attitude that ‘if rural people want these services they’ll have
to come to the city to get them’ is simply not acceptable…” (Newbery,
1999)

Before printing, think about the environment. Avant d' imprimer,
pensez à l'environnement.



2009/11/1 Aart de Vries <aart.de.vries@...>:

> Thanks Peter for that. Finally we get some discussion on this list, and I
> hope this thread will draw some more hard needed comments and visions.
>
> Peter: Right on, and exactly in line with what I told John already when I
> first started looking at the OSCAR code back in May: It doesn't take a
> brilliant visionary to conclude by just looking at the current code-base and
> the lack of documentation and project standards that OSCAR is the product of
> a severely underfunded effort.
> I'm astounded at how far OSCAR has gotten as far as it has, and it is
> probably largely due to the fact that Jay works on it far after midnight
> regularly, as well as others donating tons of private time. Our problems are
> only going to get bigger fast if we don't get our act together: As soon as
> we bring Alberta and Quebec Billing (and in my vision billing modules for
> the other provinces and territories as well), users in these new provinces
> will start to demand interfaces to other provincial systems as well (like
> the Alberta Pharmacy system). In other words: the rate of growth of the code
> base is going to accelerate, and with the current absence of a project
> standards, the project will collapse by its own success.
>
> In the light of ISO, we will need a.o. the following things documented:
> 1 Architect
> 2 DB standards
> 3 Java coding standards (with Hibernate standards)
> 4 UI standards
> 5 How to set-up your development environment
> 6 Which versions of libraries and frameworks are used on the project
> 7Requirements
> 8 Test plan with test data sets, automated tests
> 9 Release notes (containing things like which Java/Tomcat/Database version
> the project is released under)
> 10 User documentation (Manual and Online Help)
> During the OCUS meeting the whole issue around the 2 user manual was totally
> bogus: The User Manual is a deliverable of the development team (as is
> online help, which is part of your UI-standards).
>
> On Wednesday prior to the OCUS meeting, I had David Chan at my house, and
> given him an extensive demo, a code run-down and showed him some of the
> above documentation that I wrote while making my proof of concept. At first
> his stance at documentation was: "Don't bother: Nobody keeps them up to
> date, so they are not valuable anyways, so better not do it all together".
> Probably this explains a.o. reasons why today there is hardly any
> documentation. I said I disagreed with his vision: Documents 1,2,3,4,5,6 are
> fairly static documents. Together they will cost about a month of initial
> effort of a senior developer to write, and thereafter, these documents
> change only 5-10% year over year, so only little effort is required to
> maintain them. As for the other documents: The development-team will have to
> be disciplined enough to grow them with each new function they make. The
> code base is now so large, that a dedicated Analyst as well as a dedicated
> Software Tester are needed on the project, and therefore these 2 positions
> need to be filled by very senior people.
> Regarding requirements, David's concern of them being unmaintainable is
> partially valid, but it depends on how you write them. If you go full flat
> out with writing requirements in UML with all kinds of fancy views and
> diagrams on the object model, than yes David is correct. But requirements
> can be written in many different ways: Choosing to work with user stories
> for example lessons the burden significantly.
> Since David got a feeling I have some affinity to writing documentation
> because I see the value in it, he asked me whether I would be willing to
> document the current OSCAR. No way: I think it is cheaper to clean up first,
> and while doing that write your documentation. David told me that clean-up
> is already on its way: For 2 years he secured $75000,- for this activity
> (Jackson is on that).
>
> Also because of ISO, we will probably have to take away the rights of many
> people to check-in code into the repository. Code contributions have to be
> moderated by a core full-time developer (paid positions). This to ensure
> that the contribution does comply with the project standards, and thereby
> that we are not risking our ISO certification at a next audit. And this is
> not unusual: Most successful Open Source projects work like that. Take Linux
> for example: Linus has assigned specialists for various parts that make up
> the Linux system that moderate code changes to the modules under their
> responsibilities.
>
> As for the technology side: I choose GWT not because it looks so cool, but
> mainly because it can lead to a significant reductions in both code volume,
> as well as a significant reduction in technologies and frameworks used. The
> demo you saw was running without me programming:
> - struts
> - spring
> - JSPs
> - HTML
> - CSS
> - JavaScript
> The main technologies were Java and Hibernate. The fair number of screens in
> the OSCAR application could be made with just what I had in the demo, and
> can therefor with the helper-library that I programmed myself, be programmed
> by intermediate level developers.
> Note: I have to do write a bit of our own libraries to compensate for
> wanting to get rid of Spring, but that should be overly difficult.
>
> Another 2 senior developers will have to be present on the project with
> HTML, CSS and maybe JavaScript skills to develop custom components to do the
> appointment and e-chart screens. These developers also have to moderate the
> intermediate developers doing the hibernate layer: I'm currently working on
> hiding in the hibernate layer some of the db-modeling errors that were made
> in the past, so that bad database design isn't rippling through all the way
> into the business- and UI-layers of the application. After this phase is
> done, the db can be migrated easily: Only some Hibernate mappings will have
> to change, without having to touch the vast majority of the code.
>
> Don't pin me on GWT, there are other directions that can be taken for OSCAR
> as well (http://www.icefaces.org/main/home/ to name but one). I think a kind
> of OSCAR developer summit should be organized pretty soon (before I start
> working on Alberta Billing), and maybe before Jackson burns the
> 2x$75.000,-), in which developers as a group are going to decide in which
> direction development should be taken.
>
> All these activities come at a price. My initial ballpark figure to realize
> all this is about $750.000,- annually on an ongoing bases. That will give us
> at least 4 seniors, 2 intermediate people, their
> hardware/network/telecom/traveling and ISO certification expenses. So I have
> given that as an assignment to John, and we are hopeful about him raising
> it.
>
> Also by starting to think big, we might be more successful at penetrating
> market share. In the OCUS meeting everyone was particularly proud to be
> approaching 1000 users. But that is only roughly about 2% of the Canadian
> market after 10 years of efforts. One can also take a stance: Wouldn't we
> already be at 10 or 15%, if 3 years ago, someone was smart enough to raise
> enough money to do all these clean-up's, do the documentation, build the
> billing modules for all the provinces etc. Especially after what David Daley
> brought to the table: Commercial vendors will be offering EMR/EHR software
> and services for free (free $$$-wise, but take valuable patient data as
> payment), and many cash-strapped family physicians might fall into this
> marketing trap. This would be an easy thing to do for these vendors, since
> some provincial governments seem to favor ASP solutions. Above all, before
> the governments will have a clue of what is going on, it will be too late
> and they will not be able to revert the situation anymore. This practice
> will be lucrative for those vendors, and they won't be cash-strapped to fund
> their development efforts. So, aside from today's short-slightness of both
> federal and the various provincial governments to give proprietary vendors
> preferential treatment, OSCAR will face even harder competition from vendors
> 'stealing' patient data. In this light, I reckon that if we go on like the
> way things have been going, it will take us a long long time to get to even
> 5%.
>
> So regarding the not-for profit organization: Great in my opinion. The
> current OSCAR was mainly developed, funded and run by McMaster with the help
> of some grants. Universities however are places of education and research.
> As a product of research, often excellent projects are incubated at
> universities, and OSCAR can be easily qualified as one such successful
> project. Universities have however limited resources to sustain ongoing
> development: again OSCAR can be seen as a sad example of this where current
> development activities (of taking a click away here and there, or change
> some colors elsewhere) can hardly be earmarked as 'research' or world
> shocking novelties.
>
> Regarding the board seats of this not for profit organization I was not at
> all happy: The share of seats assigned to universities is non-proportionally
> large. Also having no seats reserved for important stake holder groups such
> as the vendors, and the software developers, can be viewed as awkward at
> best. More than 80% of software projects are known to fail in Canada. Since
> this corporation is not much different from a software development company,
> some direct developer expertise input into the board seems prudent (look at
> The Linux Foundation board member list as an example). I think that David
> Chan is not the ideal candidate to represent the development team: He is a
> professor of medicine, not a full time IT professional who has kept up with
> modern software development practices and strategies. Also since David is
> attached to McMaster, there is a conflict of interests there.
> As for the vendors: They invest a lot of personal time and effort in OSCAR
> as well, and without them, OSCAR would not nearly be as big today. Having
> vendor seat or seats in the not for profit organization seems fair: They
> have a right to know which direction the development is going to take, and
> the right to influence it as well. Their livelihoods depend on it.
> I'm also open to have someone on the board that is more of a business
> person: A person that can think big, maybe a person with more marketing
> experience. Aside from university professors like Dr. Martin Dawes, I think
> a person like that can be very helpful in the current government unfriendly
> OpenSource EMR climate.
>
> For those developers who were not at the event, here is what I wrote to
> Colleen to help her out with her minutes regarding the presentation that I
> did:
>
> "We are on the eve of the the 10th birthday of OSCAR, and OSCAR will be
> around for yet another decade easily. Knowing this, and knowing the vast
> progress that is being made in programming tools and libraries, I found the
> time was ripe to look at newer technologies than those that were available
> in the year 2000. Newer technologies that will allow us to develop faster,
> write code that is cleaner, write less code: In short code that is easy
> maintainable.
>
> A fair few libraries/frameworks have already been added to OSCAR since it's
> inception, and adding yet another one should not be done without giving it
> due consideration, or just because the tool 'looks cool' or for some other
> invalid reason. Once we do, the module build in it is likely going to be
> around a long long time. So although I'm eying GWT (Google Web Toolkit)
> technology for Alberta Billing in the short term, I want to make sure that
> this toolkit could not just be used for the billing module, but for other
> screens in OSCAR as well.
>
> Hence I have been working on a prototype GWT implementation of a few 'old'
> OSCAR screens. This allowed me to focus on the technological challenges that
> we always face when embracing a new technology, vs. me having to both face
> these challenges and having to design the Alberta Billing on top of that.
>
> Goals Proof of Concept
> 1) New technology can run in conjunction with the old technologies
> 2) UI is as responsive as today's OSCAR
> 3) Load on the server is going to decrease
> 4) Network load is going to decrease
> 5) UI can be entirely multilingual
> 6) That the UI becomes more user friendly (short-cut keys, quick navigation,
> live-update, asks to save modified data)
> 7) That fewer technologies are used to make screens than today
> 8) That screens can be made with fewer lines of code that are simple
> 9) That existing OSCAR screens can be invoked from the new
>  technology screens
> 10) Single logon
> 11) The new screens log screen access as the old screens do
> 12) That the new screens abide by the same security restrictions as the
>     old screens do
> 13) Documentation (online help, architecture, db-standards, java coding
>    standards, UI standards)
>
> The goals 1..9 have been realized to my satisfaction. Goal 13 is coming
> along nicely, as I'm letting the documentation grow with my progress. 10..12
> are not so exciting from a 'Proof of Concept' standpoint of view, as I see
> little technical challenges in there: It is only a matter of time until
> these will be completed.
>
> By doing the 'proof of concept', I hope get buy-in from David, Jay and
> others in the developer community, as well as from vendors and OSCAR users.
> "
>
> Aart
>
> Peter Hutten-Czapski wrote:
>>
>> During the OSCUS meeting Aart gave a demonstration of proof of concept
>> for using new tools (the Google Webkit) to develop the Alberta billing
>> module.  As anyone who has looked at Oscar code is probably aware
>> OSCAR has used a number of tools, languages, libraries etc over the
>> years, depending on the preferences of who was taking the lead.
>>
>> While under the hood it looks somewhat... well you know..., this has
>> served us well in the past, especially when it comes to our
>> phagocytosis of code from other projects (Hylafax, mule, drugref,
>> hapi).  However code and projects evolve and now that OSCAR is so big,
>> it becomes a challenge for debugging, updating (and not breaking
>> dependencies) and dare I mention it, documenting (we do have that
>> elephant named ISO in the room).
>>
>> An argument could be made to come to some consensus to pick just one
>> (for new code and for rewrites of existing modules).  The
>> demonstration certainly showed that OSCAR could be programmed in the
>> Google toolkit.  It is very shiny chrome, and has very nice database
>> binding, such that forms are updated without being completely redrawn
>> and so on.
>>
>> There was no discussion of this at OSCUS and presumably the acceptance
>> of using the Google toolkit is left to David and Jay.  Hard for them
>> not to let code be committed in (yet another toolkit should be no big
>> impediment), but it is another matter to *gasp* enforce the tools and
>> libraries that we use to program with.
>>
>> However structure is not necessarily bad.  We are after all now coming
>> out with releases on a schedule.  Is it time to start by defining the
>> tools that we support/endorse?
>>
>> ================
>> Peter Hutten-Czapski
>> Haileybury Ontario
>>
>> "The attitude that ‘if rural people want these services they’ll have
>> to come to the city to get them’ is simply not acceptable…” (Newbery,
>> 1999)
>>
>> Before printing, think about the environment. Avant d' imprimer,
>> pensez à l'environnement.
>>
>>
>> ------------------------------------------------------------------------------
>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
>> is the only developer event you need to attend this year. Jumpstart your
>> developing skills, take BlackBerry mobile applications to market and stay
>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>> http://p.sf.net/sfu/devconference
>> _______________________________________________
>> Oscarmcmaster-devel mailing list
>> Oscarmcmaster-devel@...
>> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>>
>
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by Aart de Vries-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Peter, any more people with input, especially from the lead
developers?

Don't say you should have little influence: The problems you shook up in
your opening e-mail of this thread are real. It is a bit shocking that
an 'amateur' programmer had to do it.

I didn't say the programmers should be writing the user manuals, but I
still think that it is a deliverable of the development team. I've been
on projects of the size you mention where we had dedicated people
writing the user documentation, but we are not in such a luxurious
position. More realistically on this project would be that the Analyst
would write them, that would create more consistency then the individual
developers writing it. Another option is that the Analyst co-ordinates
the efforts of the Users writing the stuff, this would resemble the
function that we were trying to fill-in during the OCUS meeting.

As for the approach: I agree. It should be incremental, whether GWT or
not, stronger still: The sheer size of today's code base can not be
replaced all at once. If we go with newer technologies, old screens will
have to be replaced by new screens in phases, hence, the goal in my
proof of concept that that can be done with GWT running in conjunction
with the current OSCAR app-server.

Peter, you got the urgency right, maybe even you underestimate it a bit:
I haven't committed any code, nor am I planning to until some direction
from the lead developers becomes visible. I consider it a waste of my
time of programming Alberta Billing in GWT if Jay will shoot the
initiative down by the time I'm finished. That would seriously piss me off.

On Thursday I have played open card with Jay: I have given him a private
demo, and a serious code walk-though. If he, or any of the other lead
developers want to go over it again with me in detail once more once I
have logging and security in place, then I'll be more than happy to do
that with them. However, if he already has good reasons for not going
with GWT, then I would like to hear that ASAP.

A.

Peter Hutten-Czapski wrote:

> Aart has a grand vision.  I am also frightened by the level of change
> that he describes. I am cognisant that I have contributed but several
> hundreds of lines to the code base, and am at best an amateur
> programmer, and thus have little (or should have) little influence,.
> However there are some things that can be done incrementally to change
> the development modus operandi without increasing our resource needs,
> and indeed reducing our needs for same as time goes on, and it doesn't
> necessarily have to be done in the big P project fashion.
>
> By example I don't agree that we need to depend on programmers to
> write user documentation.  Most larger projects use technical writers
> after all, and we have too few resources to hire either programming
> nor technical writer time.  It would be a shame to ignore the
> community which is willing and capable of writing a users manual - and
> only needs a structure (the editor, a table of contents, a style guide
> etc which we/they can develop them/ourselves.  All they need are
> details from the programmers on how the help function will call the
> pages)
>
> I agree entirely that similar definition of programming structures
> will improve the longevity of the project, and the sooner we do that
> the easier it will be to become ISO compliant.  We don't need anything
> more than will and a consensus on what the project needs to have in
> the next two years from a development point of view.  I am glad that
> Aart is not married to the Google Webkit, (I like it as well but that
> is not the point), the question is what the lead developers that know
> the project the best want to do.
>
> For Aart there is some urgency.   I suspect that Aart will not want to
> commit much code before there is some agreement as to what
> framework(s) the project will be using in the near future, because
> there is little point in using the Google Webkit, if Jay is thinking
> of going to another toolkit in the next year.
>
> That shouldn't rush the lead developers, but it does point out how not
> enough structure can inhibit the project.
>
>
> ================
> Peter Hutten-Czapski
> Haileybury Ontario
>
> "The attitude that ‘if rural people want these services they’ll have
> to come to the city to get them’ is simply not acceptable…” (Newbery,
> 1999)
>
> Before printing, think about the environment. Avant d' imprimer,
> pensez à l'environnement.
>
>
>
> 2009/11/1 Aart de Vries <aart.de.vries@...>:
>  
>> Thanks Peter for that. Finally we get some discussion on this list, and I
>> hope this thread will draw some more hard needed comments and visions.
>>
>> Peter: Right on, and exactly in line with what I told John already when I
>> first started looking at the OSCAR code back in May: It doesn't take a
>> brilliant visionary to conclude by just looking at the current code-base and
>> the lack of documentation and project standards that OSCAR is the product of
>> a severely underfunded effort.
>> I'm astounded at how far OSCAR has gotten as far as it has, and it is
>> probably largely due to the fact that Jay works on it far after midnight
>> regularly, as well as others donating tons of private time. Our problems are
>> only going to get bigger fast if we don't get our act together: As soon as
>> we bring Alberta and Quebec Billing (and in my vision billing modules for
>> the other provinces and territories as well), users in these new provinces
>> will start to demand interfaces to other provincial systems as well (like
>> the Alberta Pharmacy system). In other words: the rate of growth of the code
>> base is going to accelerate, and with the current absence of a project
>> standards, the project will collapse by its own success.
>>
>> In the light of ISO, we will need a.o. the following things documented:
>> 1 Architect
>> 2 DB standards
>> 3 Java coding standards (with Hibernate standards)
>> 4 UI standards
>> 5 How to set-up your development environment
>> 6 Which versions of libraries and frameworks are used on the project
>> 7Requirements
>> 8 Test plan with test data sets, automated tests
>> 9 Release notes (containing things like which Java/Tomcat/Database version
>> the project is released under)
>> 10 User documentation (Manual and Online Help)
>> During the OCUS meeting the whole issue around the 2 user manual was totally
>> bogus: The User Manual is a deliverable of the development team (as is
>> online help, which is part of your UI-standards).
>>
>> On Wednesday prior to the OCUS meeting, I had David Chan at my house, and
>> given him an extensive demo, a code run-down and showed him some of the
>> above documentation that I wrote while making my proof of concept. At first
>> his stance at documentation was: "Don't bother: Nobody keeps them up to
>> date, so they are not valuable anyways, so better not do it all together".
>> Probably this explains a.o. reasons why today there is hardly any
>> documentation. I said I disagreed with his vision: Documents 1,2,3,4,5,6 are
>> fairly static documents. Together they will cost about a month of initial
>> effort of a senior developer to write, and thereafter, these documents
>> change only 5-10% year over year, so only little effort is required to
>> maintain them. As for the other documents: The development-team will have to
>> be disciplined enough to grow them with each new function they make. The
>> code base is now so large, that a dedicated Analyst as well as a dedicated
>> Software Tester are needed on the project, and therefore these 2 positions
>> need to be filled by very senior people.
>> Regarding requirements, David's concern of them being unmaintainable is
>> partially valid, but it depends on how you write them. If you go full flat
>> out with writing requirements in UML with all kinds of fancy views and
>> diagrams on the object model, than yes David is correct. But requirements
>> can be written in many different ways: Choosing to work with user stories
>> for example lessons the burden significantly.
>> Since David got a feeling I have some affinity to writing documentation
>> because I see the value in it, he asked me whether I would be willing to
>> document the current OSCAR. No way: I think it is cheaper to clean up first,
>> and while doing that write your documentation. David told me that clean-up
>> is already on its way: For 2 years he secured $75000,- for this activity
>> (Jackson is on that).
>>
>> Also because of ISO, we will probably have to take away the rights of many
>> people to check-in code into the repository. Code contributions have to be
>> moderated by a core full-time developer (paid positions). This to ensure
>> that the contribution does comply with the project standards, and thereby
>> that we are not risking our ISO certification at a next audit. And this is
>> not unusual: Most successful Open Source projects work like that. Take Linux
>> for example: Linus has assigned specialists for various parts that make up
>> the Linux system that moderate code changes to the modules under their
>> responsibilities.
>>
>> As for the technology side: I choose GWT not because it looks so cool, but
>> mainly because it can lead to a significant reductions in both code volume,
>> as well as a significant reduction in technologies and frameworks used. The
>> demo you saw was running without me programming:
>> - struts
>> - spring
>> - JSPs
>> - HTML
>> - CSS
>> - JavaScript
>> The main technologies were Java and Hibernate. The fair number of screens in
>> the OSCAR application could be made with just what I had in the demo, and
>> can therefor with the helper-library that I programmed myself, be programmed
>> by intermediate level developers.
>> Note: I have to do write a bit of our own libraries to compensate for
>> wanting to get rid of Spring, but that should be overly difficult.
>>
>> Another 2 senior developers will have to be present on the project with
>> HTML, CSS and maybe JavaScript skills to develop custom components to do the
>> appointment and e-chart screens. These developers also have to moderate the
>> intermediate developers doing the hibernate layer: I'm currently working on
>> hiding in the hibernate layer some of the db-modeling errors that were made
>> in the past, so that bad database design isn't rippling through all the way
>> into the business- and UI-layers of the application. After this phase is
>> done, the db can be migrated easily: Only some Hibernate mappings will have
>> to change, without having to touch the vast majority of the code.
>>
>> Don't pin me on GWT, there are other directions that can be taken for OSCAR
>> as well (http://www.icefaces.org/main/home/ to name but one). I think a kind
>> of OSCAR developer summit should be organized pretty soon (before I start
>> working on Alberta Billing), and maybe before Jackson burns the
>> 2x$75.000,-), in which developers as a group are going to decide in which
>> direction development should be taken.
>>
>> All these activities come at a price. My initial ballpark figure to realize
>> all this is about $750.000,- annually on an ongoing bases. That will give us
>> at least 4 seniors, 2 intermediate people, their
>> hardware/network/telecom/traveling and ISO certification expenses. So I have
>> given that as an assignment to John, and we are hopeful about him raising
>> it.
>>
>> Also by starting to think big, we might be more successful at penetrating
>> market share. In the OCUS meeting everyone was particularly proud to be
>> approaching 1000 users. But that is only roughly about 2% of the Canadian
>> market after 10 years of efforts. One can also take a stance: Wouldn't we
>> already be at 10 or 15%, if 3 years ago, someone was smart enough to raise
>> enough money to do all these clean-up's, do the documentation, build the
>> billing modules for all the provinces etc. Especially after what David Daley
>> brought to the table: Commercial vendors will be offering EMR/EHR software
>> and services for free (free $$$-wise, but take valuable patient data as
>> payment), and many cash-strapped family physicians might fall into this
>> marketing trap. This would be an easy thing to do for these vendors, since
>> some provincial governments seem to favor ASP solutions. Above all, before
>> the governments will have a clue of what is going on, it will be too late
>> and they will not be able to revert the situation anymore. This practice
>> will be lucrative for those vendors, and they won't be cash-strapped to fund
>> their development efforts. So, aside from today's short-slightness of both
>> federal and the various provincial governments to give proprietary vendors
>> preferential treatment, OSCAR will face even harder competition from vendors
>> 'stealing' patient data. In this light, I reckon that if we go on like the
>> way things have been going, it will take us a long long time to get to even
>> 5%.
>>
>> So regarding the not-for profit organization: Great in my opinion. The
>> current OSCAR was mainly developed, funded and run by McMaster with the help
>> of some grants. Universities however are places of education and research.
>> As a product of research, often excellent projects are incubated at
>> universities, and OSCAR can be easily qualified as one such successful
>> project. Universities have however limited resources to sustain ongoing
>> development: again OSCAR can be seen as a sad example of this where current
>> development activities (of taking a click away here and there, or change
>> some colors elsewhere) can hardly be earmarked as 'research' or world
>> shocking novelties.
>>
>> Regarding the board seats of this not for profit organization I was not at
>> all happy: The share of seats assigned to universities is non-proportionally
>> large. Also having no seats reserved for important stake holder groups such
>> as the vendors, and the software developers, can be viewed as awkward at
>> best. More than 80% of software projects are known to fail in Canada. Since
>> this corporation is not much different from a software development company,
>> some direct developer expertise input into the board seems prudent (look at
>> The Linux Foundation board member list as an example). I think that David
>> Chan is not the ideal candidate to represent the development team: He is a
>> professor of medicine, not a full time IT professional who has kept up with
>> modern software development practices and strategies. Also since David is
>> attached to McMaster, there is a conflict of interests there.
>> As for the vendors: They invest a lot of personal time and effort in OSCAR
>> as well, and without them, OSCAR would not nearly be as big today. Having
>> vendor seat or seats in the not for profit organization seems fair: They
>> have a right to know which direction the development is going to take, and
>> the right to influence it as well. Their livelihoods depend on it.
>> I'm also open to have someone on the board that is more of a business
>> person: A person that can think big, maybe a person with more marketing
>> experience. Aside from university professors like Dr. Martin Dawes, I think
>> a person like that can be very helpful in the current government unfriendly
>> OpenSource EMR climate.
>>
>> For those developers who were not at the event, here is what I wrote to
>> Colleen to help her out with her minutes regarding the presentation that I
>> did:
>>
>> "We are on the eve of the the 10th birthday of OSCAR, and OSCAR will be
>> around for yet another decade easily. Knowing this, and knowing the vast
>> progress that is being made in programming tools and libraries, I found the
>> time was ripe to look at newer technologies than those that were available
>> in the year 2000. Newer technologies that will allow us to develop faster,
>> write code that is cleaner, write less code: In short code that is easy
>> maintainable.
>>
>> A fair few libraries/frameworks have already been added to OSCAR since it's
>> inception, and adding yet another one should not be done without giving it
>> due consideration, or just because the tool 'looks cool' or for some other
>> invalid reason. Once we do, the module build in it is likely going to be
>> around a long long time. So although I'm eying GWT (Google Web Toolkit)
>> technology for Alberta Billing in the short term, I want to make sure that
>> this toolkit could not just be used for the billing module, but for other
>> screens in OSCAR as well.
>>
>> Hence I have been working on a prototype GWT implementation of a few 'old'
>> OSCAR screens. This allowed me to focus on the technological challenges that
>> we always face when embracing a new technology, vs. me having to both face
>> these challenges and having to design the Alberta Billing on top of that.
>>
>> Goals Proof of Concept
>> 1) New technology can run in conjunction with the old technologies
>> 2) UI is as responsive as today's OSCAR
>> 3) Load on the server is going to decrease
>> 4) Network load is going to decrease
>> 5) UI can be entirely multilingual
>> 6) That the UI becomes more user friendly (short-cut keys, quick navigation,
>> live-update, asks to save modified data)
>> 7) That fewer technologies are used to make screens than today
>> 8) That screens can be made with fewer lines of code that are simple
>> 9) That existing OSCAR screens can be invoked from the new
>>  technology screens
>> 10) Single logon
>> 11) The new screens log screen access as the old screens do
>> 12) That the new screens abide by the same security restrictions as the
>>     old screens do
>> 13) Documentation (online help, architecture, db-standards, java coding
>>    standards, UI standards)
>>
>> The goals 1..9 have been realized to my satisfaction. Goal 13 is coming
>> along nicely, as I'm letting the documentation grow with my progress. 10..12
>> are not so exciting from a 'Proof of Concept' standpoint of view, as I see
>> little technical challenges in there: It is only a matter of time until
>> these will be completed.
>>
>> By doing the 'proof of concept', I hope get buy-in from David, Jay and
>> others in the developer community, as well as from vendors and OSCAR users.
>> "
>>
>> Aart
>>
>> Peter Hutten-Czapski wrote:
>>    
>>> During the OSCUS meeting Aart gave a demonstration of proof of concept
>>> for using new tools (the Google Webkit) to develop the Alberta billing
>>> module.  As anyone who has looked at Oscar code is probably aware
>>> OSCAR has used a number of tools, languages, libraries etc over the
>>> years, depending on the preferences of who was taking the lead.
>>>
>>> While under the hood it looks somewhat... well you know..., this has
>>> served us well in the past, especially when it comes to our
>>> phagocytosis of code from other projects (Hylafax, mule, drugref,
>>> hapi).  However code and projects evolve and now that OSCAR is so big,
>>> it becomes a challenge for debugging, updating (and not breaking
>>> dependencies) and dare I mention it, documenting (we do have that
>>> elephant named ISO in the room).
>>>
>>> An argument could be made to come to some consensus to pick just one
>>> (for new code and for rewrites of existing modules).  The
>>> demonstration certainly showed that OSCAR could be programmed in the
>>> Google toolkit.  It is very shiny chrome, and has very nice database
>>> binding, such that forms are updated without being completely redrawn
>>> and so on.
>>>
>>> There was no discussion of this at OSCUS and presumably the acceptance
>>> of using the Google toolkit is left to David and Jay.  Hard for them
>>> not to let code be committed in (yet another toolkit should be no big
>>> impediment), but it is another matter to *gasp* enforce the tools and
>>> libraries that we use to program with.
>>>
>>> However structure is not necessarily bad.  We are after all now coming
>>> out with releases on a schedule.  Is it time to start by defining the
>>> tools that we support/endorse?
>>>
>>> ================
>>> Peter Hutten-Czapski
>>> Haileybury Ontario
>>>
>>> "The attitude that ‘if rural people want these services they’ll have
>>> to come to the city to get them’ is simply not acceptable…” (Newbery,
>>> 1999)
>>>
>>> Before printing, think about the environment. Avant d' imprimer,
>>> pensez à l'environnement.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
>>> is the only developer event you need to attend this year. Jumpstart your
>>> developing skills, take BlackBerry mobile applications to market and stay
>>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>>> http://p.sf.net/sfu/devconference
>>> _______________________________________________
>>> Oscarmcmaster-devel mailing list
>>> Oscarmcmaster-devel@...
>>> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>>>
>>>      
>>    


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by David Chan-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Aart, I agree with most of what you said except for your quote of me saying (regarding the need for good documentation): "Don't bother: Nobody keeps them up to date, so they are not valuable anyways, so better not do it all together". The recent grant of $75,000 a year for 2 years is precisely for cleaning up the code and documentation. It has not been easy to find the money or the person to help in this regard. You yourself have turned down this offer in favor of doing something entirely new (which I am not objecting;).

Your work on getting GWT to work with the existing OSCAR code base is very exciting and I hope you will be able to make sure that the new GWT code will run side by side with the current code with a single sign on. Once that is shown to be possible then I have no doubt GWT will eventually replace the archaic assortment of tools existing in OSCAR today.

May I remind you (and everyone else) that OSCAR is an Open Source project. It is what it is today because a lot of people have committed their valuable time and talents to make it happen. It is always good netiquette by being positive and encouraging. Predicting OSCAR's demise is never a good thing (as many have done over the years and proven wrong!). The project is more than the code or the architecture, or the documentation. The measure of success is NEVER (sorry for shouting...) about market share or venture capital investment. OSCAR would have failed its mission if at the end of the day we are not improving the health of our patients, or to improve our health care system despite what our governments are doing or not doing.

So welcome to this community but remember - release early and update frequently. You will find many in this forum who will be eager to help you.

Respectfully yours,
David

p.s. don't blame Jay or Jackson. They work for me. The buck stops here!

 David H Chan, MD, CCFP, MSc, FCFP
Associate Professor
Department of Family Medicine
McMaster University



----- Original Message ----
From: Aart de Vries <aart.de.vries@...>
To: oscarmcmaster-devel@...
Sent: Sun, November 1, 2009 12:28:47 PM
Subject: Re: [Oscarmcmaster-devel] Is there time to apply some discipline to the codebase?

Thanks Peter, any more people with input, especially from the lead
developers?

Don't say you should have little influence: The problems you shook up in
your opening e-mail of this thread are real. It is a bit shocking that
an 'amateur' programmer had to do it.

I didn't say the programmers should be writing the user manuals, but I
still think that it is a deliverable of the development team. I've been
on projects of the size you mention where we had dedicated people
writing the user documentation, but we are not in such a luxurious
position. More realistically on this project would be that the Analyst
would write them, that would create more consistency then the individual
developers writing it. Another option is that the Analyst co-ordinates
the efforts of the Users writing the stuff, this would resemble the
function that we were trying to fill-in during the OCUS meeting.

As for the approach: I agree. It should be incremental, whether GWT or
not, stronger still: The sheer size of today's code base can not be
replaced all at once. If we go with newer technologies, old screens will
have to be replaced by new screens in phases, hence, the goal in my
proof of concept that that can be done with GWT running in conjunction
with the current OSCAR app-server.

Peter, you got the urgency right, maybe even you underestimate it a bit:
I haven't committed any code, nor am I planning to until some direction
from the lead developers becomes visible. I consider it a waste of my
time of programming Alberta Billing in GWT if Jay will shoot the
initiative down by the time I'm finished. That would seriously piss me off.

On Thursday I have played open card with Jay: I have given him a private
demo, and a serious code walk-though. If he, or any of the other lead
developers want to go over it again with me in detail once more once I
have logging and security in place, then I'll be more than happy to do
that with them. However, if he already has good reasons for not going
with GWT, then I would like to hear that ASAP.

A.

Peter Hutten-Czapski wrote:

> Aart has a grand vision.  I am also frightened by the level of change
> that he describes. I am cognisant that I have contributed but several
> hundreds of lines to the code base, and am at best an amateur
> programmer, and thus have little (or should have) little influence,.
> However there are some things that can be done incrementally to change
> the development modus operandi without increasing our resource needs,
> and indeed reducing our needs for same as time goes on, and it doesn't
> necessarily have to be done in the big P project fashion.
>
> By example I don't agree that we need to depend on programmers to
> write user documentation.  Most larger projects use technical writers
> after all, and we have too few resources to hire either programming
> nor technical writer time.  It would be a shame to ignore the
> community which is willing and capable of writing a users manual - and
> only needs a structure (the editor, a table of contents, a style guide
> etc which we/they can develop them/ourselves.  All they need are
> details from the programmers on how the help function will call the
> pages)
>
> I agree entirely that similar definition of programming structures
> will improve the longevity of the project, and the sooner we do that
> the easier it will be to become ISO compliant.  We don't need anything
> more than will and a consensus on what the project needs to have in
> the next two years from a development point of view.  I am glad that
> Aart is not married to the Google Webkit, (I like it as well but that
> is not the point), the question is what the lead developers that know
> the project the best want to do.
>
> For Aart there is some urgency.   I suspect that Aart will not want to
> commit much code before there is some agreement as to what
> framework(s) the project will be using in the near future, because
> there is little point in using the Google Webkit, if Jay is thinking
> of going to another toolkit in the next year.
>
> That shouldn't rush the lead developers, but it does point out how not
> enough structure can inhibit the project.
>
>
> ================
> Peter Hutten-Czapski
> Haileybury Ontario
>
> "The attitude that ‘if rural people want these services they’ll have
> to come to the city to get them’ is simply not acceptable…” (Newbery,
> 1999)
>
> Before printing, think about the environment. Avant d' imprimer,
> pensez à l'environnement.
>
>
>
> 2009/11/1 Aart de Vries <aart.de.vries@...>:
>  
>> Thanks Peter for that. Finally we get some discussion on this list, and I
>> hope this thread will draw some more hard needed comments and visions.
>>
>> Peter: Right on, and exactly in line with what I told John already when I
>> first started looking at the OSCAR code back in May: It doesn't take a
>> brilliant visionary to conclude by just looking at the current code-base and
>> the lack of documentation and project standards that OSCAR is the product of
>> a severely underfunded effort.
>> I'm astounded at how far OSCAR has gotten as far as it has, and it is
>> probably largely due to the fact that Jay works on it far after midnight
>> regularly, as well as others donating tons of private time. Our problems are
>> only going to get bigger fast if we don't get our act together: As soon as
>> we bring Alberta and Quebec Billing (and in my vision billing modules for
>> the other provinces and territories as well), users in these new provinces
>> will start to demand interfaces to other provincial systems as well (like
>> the Alberta Pharmacy system). In other words: the rate of growth of the code
>> base is going to accelerate, and with the current absence of a project
>> standards, the project will collapse by its own success.
>>
>> In the light of ISO, we will need a.o. the following things documented:
>> 1 Architect
>> 2 DB standards
>> 3 Java coding standards (with Hibernate standards)
>> 4 UI standards
>> 5 How to set-up your development environment
>> 6 Which versions of libraries and frameworks are used on the project
>> 7Requirements
>> 8 Test plan with test data sets, automated tests
>> 9 Release notes (containing things like which Java/Tomcat/Database version
>> the project is released under)
>> 10 User documentation (Manual and Online Help)
>> During the OCUS meeting the whole issue around the 2 user manual was totally
>> bogus: The User Manual is a deliverable of the development team (as is
>> online help, which is part of your UI-standards).
>>
>> On Wednesday prior to the OCUS meeting, I had David Chan at my house, and
>> given him an extensive demo, a code run-down and showed him some of the
>> above documentation that I wrote while making my proof of concept. At first
>> his stance at documentation was: "Don't bother: Nobody keeps them up to
>> date, so they are not valuable anyways, so better not do it all together".
>> Probably this explains a.o. reasons why today there is hardly any
>> documentation. I said I disagreed with his vision: Documents 1,2,3,4,5,6 are
>> fairly static documents. Together they will cost about a month of initial
>> effort of a senior developer to write, and thereafter, these documents
>> change only 5-10% year over year, so only little effort is required to
>> maintain them. As for the other documents: The development-team will have to
>> be disciplined enough to grow them with each new function they make. The
>> code base is now so large, that a dedicated Analyst as well as a dedicated
>> Software Tester are needed on the project, and therefore these 2 positions
>> need to be filled by very senior people.
>> Regarding requirements, David's concern of them being unmaintainable is
>> partially valid, but it depends on how you write them. If you go full flat
>> out with writing requirements in UML with all kinds of fancy views and
>> diagrams on the object model, than yes David is correct. But requirements
>> can be written in many different ways: Choosing to work with user stories
>> for example lessons the burden significantly.
>> Since David got a feeling I have some affinity to writing documentation
>> because I see the value in it, he asked me whether I would be willing to
>> document the current OSCAR. No way: I think it is cheaper to clean up first,
>> and while doing that write your documentation. David told me that clean-up
>> is already on its way: For 2 years he secured $75000,- for this activity
>> (Jackson is on that).
>>
>> Also because of ISO, we will probably have to take away the rights of many
>> people to check-in code into the repository. Code contributions have to be
>> moderated by a core full-time developer (paid positions). This to ensure
>> that the contribution does comply with the project standards, and thereby
>> that we are not risking our ISO certification at a next audit. And this is
>> not unusual: Most successful Open Source projects work like that. Take Linux
>> for example: Linus has assigned specialists for various parts that make up
>> the Linux system that moderate code changes to the modules under their
>> responsibilities.
>>
>> As for the technology side: I choose GWT not because it looks so cool, but
>> mainly because it can lead to a significant reductions in both code volume,
>> as well as a significant reduction in technologies and frameworks used. The
>> demo you saw was running without me programming:
>> - struts
>> - spring
>> - JSPs
>> - HTML
>> - CSS
>> - JavaScript
>> The main technologies were Java and Hibernate. The fair number of screens in
>> the OSCAR application could be made with just what I had in the demo, and
>> can therefor with the helper-library that I programmed myself, be programmed
>> by intermediate level developers.
>> Note: I have to do write a bit of our own libraries to compensate for
>> wanting to get rid of Spring, but that should be overly difficult.
>>
>> Another 2 senior developers will have to be present on the project with
>> HTML, CSS and maybe JavaScript skills to develop custom components to do the
>> appointment and e-chart screens. These developers also have to moderate the
>> intermediate developers doing the hibernate layer: I'm currently working on
>> hiding in the hibernate layer some of the db-modeling errors that were made
>> in the past, so that bad database design isn't rippling through all the way
>> into the business- and UI-layers of the application. After this phase is
>> done, the db can be migrated easily: Only some Hibernate mappings will have
>> to change, without having to touch the vast majority of the code.
>>
>> Don't pin me on GWT, there are other directions that can be taken for OSCAR
>> as well (http://www.icefaces.org/main/home/ to name but one). I think a kind
>> of OSCAR developer summit should be organized pretty soon (before I start
>> working on Alberta Billing), and maybe before Jackson burns the
>> 2x$75.000,-), in which developers as a group are going to decide in which
>> direction development should be taken.
>>
>> All these activities come at a price. My initial ballpark figure to realize
>> all this is about $750.000,- annually on an ongoing bases. That will give us
>> at least 4 seniors, 2 intermediate people, their
>> hardware/network/telecom/traveling and ISO certification expenses. So I have
>> given that as an assignment to John, and we are hopeful about him raising
>> it.
>>
>> Also by starting to think big, we might be more successful at penetrating
>> market share. In the OCUS meeting everyone was particularly proud to be
>> approaching 1000 users. But that is only roughly about 2% of the Canadian
>> market after 10 years of efforts. One can also take a stance: Wouldn't we
>> already be at 10 or 15%, if 3 years ago, someone was smart enough to raise
>> enough money to do all these clean-up's, do the documentation, build the
>> billing modules for all the provinces etc. Especially after what David Daley
>> brought to the table: Commercial vendors will be offering EMR/EHR software
>> and services for free (free $$$-wise, but take valuable patient data as
>> payment), and many cash-strapped family physicians might fall into this
>> marketing trap. This would be an easy thing to do for these vendors, since
>> some provincial governments seem to favor ASP solutions. Above all, before
>> the governments will have a clue of what is going on, it will be too late
>> and they will not be able to revert the situation anymore. This practice
>> will be lucrative for those vendors, and they won't be cash-strapped to fund
>> their development efforts. So, aside from today's short-slightness of both
>> federal and the various provincial governments to give proprietary vendors
>> preferential treatment, OSCAR will face even harder competition from vendors
>> 'stealing' patient data. In this light, I reckon that if we go on like the
>> way things have been going, it will take us a long long time to get to even
>> 5%.
>>
>> So regarding the not-for profit organization: Great in my opinion. The
>> current OSCAR was mainly developed, funded and run by McMaster with the help
>> of some grants. Universities however are places of education and research.
>> As a product of research, often excellent projects are incubated at
>> universities, and OSCAR can be easily qualified as one such successful
>> project. Universities have however limited resources to sustain ongoing
>> development: again OSCAR can be seen as a sad example of this where current
>> development activities (of taking a click away here and there, or change
>> some colors elsewhere) can hardly be earmarked as 'research' or world
>> shocking novelties.
>>
>> Regarding the board seats of this not for profit organization I was not at
>> all happy: The share of seats assigned to universities is non-proportionally
>> large. Also having no seats reserved for important stake holder groups such
>> as the vendors, and the software developers, can be viewed as awkward at
>> best. More than 80% of software projects are known to fail in Canada. Since
>> this corporation is not much different from a software development company,
>> some direct developer expertise input into the board seems prudent (look at
>> The Linux Foundation board member list as an example). I think that David
>> Chan is not the ideal candidate to represent the development team: He is a
>> professor of medicine, not a full time IT professional who has kept up with
>> modern software development practices and strategies. Also since David is
>> attached to McMaster, there is a conflict of interests there.
>> As for the vendors: They invest a lot of personal time and effort in OSCAR
>> as well, and without them, OSCAR would not nearly be as big today. Having
>> vendor seat or seats in the not for profit organization seems fair: They
>> have a right to know which direction the development is going to take, and
>> the right to influence it as well. Their livelihoods depend on it.
>> I'm also open to have someone on the board that is more of a business
>> person: A person that can think big, maybe a person with more marketing
>> experience. Aside from university professors like Dr. Martin Dawes, I think
>> a person like that can be very helpful in the current government unfriendly
>> OpenSource EMR climate.
>>
>> For those developers who were not at the event, here is what I wrote to
>> Colleen to help her out with her minutes regarding the presentation that I
>> did:
>>
>> "We are on the eve of the the 10th birthday of OSCAR, and OSCAR will be
>> around for yet another decade easily. Knowing this, and knowing the vast
>> progress that is being made in programming tools and libraries, I found the
>> time was ripe to look at newer technologies than those that were available
>> in the year 2000. Newer technologies that will allow us to develop faster,
>> write code that is cleaner, write less code: In short code that is easy
>> maintainable.
>>
>> A fair few libraries/frameworks have already been added to OSCAR since it's
>> inception, and adding yet another one should not be done without giving it
>> due consideration, or just because the tool 'looks cool' or for some other
>> invalid reason. Once we do, the module build in it is likely going to be
>> around a long long time. So although I'm eying GWT (Google Web Toolkit)
>> technology for Alberta Billing in the short term, I want to make sure that
>> this toolkit could not just be used for the billing module, but for other
>> screens in OSCAR as well.
>>
>> Hence I have been working on a prototype GWT implementation of a few 'old'
>> OSCAR screens. This allowed me to focus on the technological challenges that
>> we always face when embracing a new technology, vs. me having to both face
>> these challenges and having to design the Alberta Billing on top of that.
>>
>> Goals Proof of Concept
>> 1) New technology can run in conjunction with the old technologies
>> 2) UI is as responsive as today's OSCAR
>> 3) Load on the server is going to decrease
>> 4) Network load is going to decrease
>> 5) UI can be entirely multilingual
>> 6) That the UI becomes more user friendly (short-cut keys, quick navigation,
>> live-update, asks to save modified data)
>> 7) That fewer technologies are used to make screens than today
>> 8) That screens can be made with fewer lines of code that are simple
>> 9) That existing OSCAR screens can be invoked from the new
>>  technology screens
>> 10) Single logon
>> 11) The new screens log screen access as the old screens do
>> 12) That the new screens abide by the same security restrictions as the
>>     old screens do
>> 13) Documentation (online help, architecture, db-standards, java coding
>>    standards, UI standards)
>>
>> The goals 1..9 have been realized to my satisfaction. Goal 13 is coming
>> along nicely, as I'm letting the documentation grow with my progress. 10..12
>> are not so exciting from a 'Proof of Concept' standpoint of view, as I see
>> little technical challenges in there: It is only a matter of time until
>> these will be completed.
>>
>> By doing the 'proof of concept', I hope get buy-in from David, Jay and
>> others in the developer community, as well as from vendors and OSCAR users.
>> "
>>
>> Aart
>>
>> Peter Hutten-Czapski wrote:
>>    
>>> During the OSCUS meeting Aart gave a demonstration of proof of concept
>>> for using new tools (the Google Webkit) to develop the Alberta billing
>>> module.  As anyone who has looked at Oscar code is probably aware
>>> OSCAR has used a number of tools, languages, libraries etc over the
>>> years, depending on the preferences of who was taking the lead.
>>>
>>> While under the hood it looks somewhat... well you know..., this has
>>> served us well in the past, especially when it comes to our
>>> phagocytosis of code from other projects (Hylafax, mule, drugref,
>>> hapi).  However code and projects evolve and now that OSCAR is so big,
>>> it becomes a challenge for debugging, updating (and not breaking
>>> dependencies) and dare I mention it, documenting (we do have that
>>> elephant named ISO in the room).
>>>
>>> An argument could be made to come to some consensus to pick just one
>>> (for new code and for rewrites of existing modules).  The
>>> demonstration certainly showed that OSCAR could be programmed in the
>>> Google toolkit.  It is very shiny chrome, and has very nice database
>>> binding, such that forms are updated without being completely redrawn
>>> and so on.
>>>
>>> There was no discussion of this at OSCUS and presumably the acceptance
>>> of using the Google toolkit is left to David and Jay.  Hard for them
>>> not to let code be committed in (yet another toolkit should be no big
>>> impediment), but it is another matter to *gasp* enforce the tools and
>>> libraries that we use to program with.
>>>
>>> However structure is not necessarily bad.  We are after all now coming
>>> out with releases on a schedule.  Is it time to start by defining the
>>> tools that we support/endorse?
>>>
>>> ================
>>> Peter Hutten-Czapski
>>> Haileybury Ontario
>>>
>>> "The attitude that ‘if rural people want these services they’ll have
>>> to come to the city to get them’ is simply not acceptable…” (Newbery,
>>> 1999)
>>>
>>> Before printing, think about the environment. Avant d' imprimer,
>>> pensez à l'environnement.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
>>> is the only developer event you need to attend this year. Jumpstart your
>>> developing skills, take BlackBerry mobile applications to market and stay
>>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>>> http://p.sf.net/sfu/devconference
>>> _______________________________________________
>>> Oscarmcmaster-devel mailing list
>>> Oscarmcmaster-devel@...
>>> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>>>
>>>      
>>    


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel



      __________________________________________________________________
Looking for the perfect gift? Give the gift of Flickr!

http://www.flickr.com/gift/

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by Aart de Vries-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

David,

Thanks for that. A few remarks:
- I discussed the single sign-on with Jay on Thursday. We agreed that
this is a non-issue. As soon as we merge the GWT code into the existing
OSCAR source tree, and thereby running of the same path, a single sign
on and session-id would be reality, without having to code something in
either the GWT code, nor in the existing OSCAR code. Problem solved.
- I did not predict the demise of OSCAR in the texts below. As I stated
during my demo: OSCAR is going to be around easily during the next
decade. The point I wanted to get across is that given the current
climate (ISO, governments subsidizing proprietary solutions and the
advent of free proprietary solutions) is going to make life for OSCAR
harder.
- I'm not blaming Jay, or Jackson or anybody else. Clearly I stated that
the shortcomings mentioned by Peter at the start of this thread are for
the most part caused by OSCAR being an underfunded project. I know that
Jay, Jackson, you yourself, and many other developers, vendors and users
invested lots and lots into OSCAR. But the point I think Peter and I are
getting at is probably clearly stated in the thread-name Peter started:
How can we improve things so that development can be undertaken more
efficiently. I would like to see a plan agreed upon how development is
going to be structurized and questions answered like: Are we going after
ISO? Who is going to look after that, because the deadline of August
2010 is coming up extremely fast? What is the not for profit
organization going to look like? How is it funded? What are it's
responsibilities? Is there any money for Alberta and Quebec billing, or
are we continuing to kick off modules that are underfunded? Do we want
to work with requirements? Are we going to formalize testing? If we
write standards documents, who has authority to write them? Which tool
do we write them in? How are we going to version all that? And I can
probably come up with a long list of more of these questions given time.
Now that there is some consensus that things have to be documented (if
only for ISO), who is ultimately responsible that these activities are
being worked on, and that they are moving in the right direction?
- I probably misunderstood you on Wednesday: I thought you asked whether
I would be interested in documenting the current code. And I had given
you my answer to that: No. I misunderstood the clean-up bit of it.
Because here I agree: Clean-up first then document that. But as you said
so yourself: Jackson could do that given the right tools
(coding/documentation standards, and libraries). I think I should move
onto expanding the GWT library I'm writing (if Jay/Randy and other
senior OSCAR developers approve of GWT, because that is still not clear
to me), and I should be on Alberta Billing and maybe develop Quebec
billing at the same time, as the best possible contribution of my time
and efforts to OSCAR.
- I'm not stating that you said that you don't see the value of good
documentation, and I'm glad you reckon that good documentation is
needed. That is not what I quoted. I know the quote is not exact,
because I didn't record our conversation, but you stated something that
you had personal experience with projects for which the docs were not
properly maintained, and thereby lost their value. I have personal
experiences with such projects as well. And this sounded to me as if you
were using this as an excuse for the absence of most of the
documentation in OSCAR that are quite common among software projects,
even Open Source projects. I'm sorry if I understood you wrong.

Thank you for welcoming me as a community member, but without a funding
stream in place for my activities, I might not survive in the OSCAR
world: My wife is not going to let me do this for another half year
without taking salary, and I think that me becoming an OSCAR vendor
first, and then a developing vendor would be a bit of a waste of my
developing capacities.

kind regards,
Aart



David Chan wrote:

> Aart, I agree with most of what you said except for your quote of me saying (regarding the need for good documentation): "Don't bother: Nobody keeps them up to date, so they are not valuable anyways, so better not do it all together". The recent grant of $75,000 a year for 2 years is precisely for cleaning up the code and documentation. It has not been easy to find the money or the person to help in this regard. You yourself have turned down this offer in favor of doing something entirely new (which I am not objecting;).
>
> Your work on getting GWT to work with the existing OSCAR code base is very exciting and I hope you will be able to make sure that the new GWT code will run side by side with the current code with a single sign on. Once that is shown to be possible then I have no doubt GWT will eventually replace the archaic assortment of tools existing in OSCAR today.
>
> May I remind you (and everyone else) that OSCAR is an Open Source project. It is what it is today because a lot of people have committed their valuable time and talents to make it happen. It is always good netiquette by being positive and encouraging. Predicting OSCAR's demise is never a good thing (as many have done over the years and proven wrong!). The project is more than the code or the architecture, or the documentation. The measure of success is NEVER (sorry for shouting...) about market share or venture capital investment. OSCAR would have failed its mission if at the end of the day we are not improving the health of our patients, or to improve our health care system despite what our governments are doing or not doing.
>
> So welcome to this community but remember - release early and update frequently. You will find many in this forum who will be eager to help you.
>
> Respectfully yours,
> David
>
> p.s. don't blame Jay or Jackson. They work for me. The buck stops here!
>
>  David H Chan, MD, CCFP, MSc, FCFP
> Associate Professor
> Department of Family Medicine
> McMaster University
>
>
>
> ----- Original Message ----
> From: Aart de Vries <aart.de.vries@...>
> To: oscarmcmaster-devel@...
> Sent: Sun, November 1, 2009 12:28:47 PM
> Subject: Re: [Oscarmcmaster-devel] Is there time to apply some discipline to the codebase?
>
> Thanks Peter, any more people with input, especially from the lead
> developers?
>
> Don't say you should have little influence: The problems you shook up in
> your opening e-mail of this thread are real. It is a bit shocking that
> an 'amateur' programmer had to do it.
>
> I didn't say the programmers should be writing the user manuals, but I
> still think that it is a deliverable of the development team. I've been
> on projects of the size you mention where we had dedicated people
> writing the user documentation, but we are not in such a luxurious
> position. More realistically on this project would be that the Analyst
> would write them, that would create more consistency then the individual
> developers writing it. Another option is that the Analyst co-ordinates
> the efforts of the Users writing the stuff, this would resemble the
> function that we were trying to fill-in during the OCUS meeting.
>
> As for the approach: I agree. It should be incremental, whether GWT or
> not, stronger still: The sheer size of today's code base can not be
> replaced all at once. If we go with newer technologies, old screens will
> have to be replaced by new screens in phases, hence, the goal in my
> proof of concept that that can be done with GWT running in conjunction
> with the current OSCAR app-server.
>
> Peter, you got the urgency right, maybe even you underestimate it a bit:
> I haven't committed any code, nor am I planning to until some direction
> from the lead developers becomes visible. I consider it a waste of my
> time of programming Alberta Billing in GWT if Jay will shoot the
> initiative down by the time I'm finished. That would seriously piss me off.
>
> On Thursday I have played open card with Jay: I have given him a private
> demo, and a serious code walk-though. If he, or any of the other lead
> developers want to go over it again with me in detail once more once I
> have logging and security in place, then I'll be more than happy to do
> that with them. However, if he already has good reasons for not going
> with GWT, then I would like to hear that ASAP.
>
> A.
>
> Peter Hutten-Czapski wrote:
>  
>> Aart has a grand vision.  I am also frightened by the level of change
>> that he describes. I am cognisant that I have contributed but several
>> hundreds of lines to the code base, and am at best an amateur
>> programmer, and thus have little (or should have) little influence,.
>> However there are some things that can be done incrementally to change
>> the development modus operandi without increasing our resource needs,
>> and indeed reducing our needs for same as time goes on, and it doesn't
>> necessarily have to be done in the big P project fashion.
>>
>> By example I don't agree that we need to depend on programmers to
>> write user documentation.  Most larger projects use technical writers
>> after all, and we have too few resources to hire either programming
>> nor technical writer time.  It would be a shame to ignore the
>> community which is willing and capable of writing a users manual - and
>> only needs a structure (the editor, a table of contents, a style guide
>> etc which we/they can develop them/ourselves.  All they need are
>> details from the programmers on how the help function will call the
>> pages)
>>
>> I agree entirely that similar definition of programming structures
>> will improve the longevity of the project, and the sooner we do that
>> the easier it will be to become ISO compliant.  We don't need anything
>> more than will and a consensus on what the project needs to have in
>> the next two years from a development point of view.  I am glad that
>> Aart is not married to the Google Webkit, (I like it as well but that
>> is not the point), the question is what the lead developers that know
>> the project the best want to do.
>>
>> For Aart there is some urgency.   I suspect that Aart will not want to
>> commit much code before there is some agreement as to what
>> framework(s) the project will be using in the near future, because
>> there is little point in using the Google Webkit, if Jay is thinking
>> of going to another toolkit in the next year.
>>
>> That shouldn't rush the lead developers, but it does point out how not
>> enough structure can inhibit the project.
>>
>>
>> ================
>> Peter Hutten-Czapski
>> Haileybury Ontario
>>
>> "The attitude that ‘if rural people want these services they’ll have
>> to come to the city to get them’ is simply not acceptable…” (Newbery,
>> 1999)
>>
>> Before printing, think about the environment. Avant d' imprimer,
>> pensez à l'environnement.
>>
>>
>>
>> 2009/11/1 Aart de Vries <aart.de.vries@...>:
>>  
>>    
>>> Thanks Peter for that. Finally we get some discussion on this list, and I
>>> hope this thread will draw some more hard needed comments and visions.
>>>
>>> Peter: Right on, and exactly in line with what I told John already when I
>>> first started looking at the OSCAR code back in May: It doesn't take a
>>> brilliant visionary to conclude by just looking at the current code-base and
>>> the lack of documentation and project standards that OSCAR is the product of
>>> a severely underfunded effort.
>>> I'm astounded at how far OSCAR has gotten as far as it has, and it is
>>> probably largely due to the fact that Jay works on it far after midnight
>>> regularly, as well as others donating tons of private time. Our problems are
>>> only going to get bigger fast if we don't get our act together: As soon as
>>> we bring Alberta and Quebec Billing (and in my vision billing modules for
>>> the other provinces and territories as well), users in these new provinces
>>> will start to demand interfaces to other provincial systems as well (like
>>> the Alberta Pharmacy system). In other words: the rate of growth of the code
>>> base is going to accelerate, and with the current absence of a project
>>> standards, the project will collapse by its own success.
>>>
>>> In the light of ISO, we will need a.o. the following things documented:
>>> 1 Architect
>>> 2 DB standards
>>> 3 Java coding standards (with Hibernate standards)
>>> 4 UI standards
>>> 5 How to set-up your development environment
>>> 6 Which versions of libraries and frameworks are used on the project
>>> 7Requirements
>>> 8 Test plan with test data sets, automated tests
>>> 9 Release notes (containing things like which Java/Tomcat/Database version
>>> the project is released under)
>>> 10 User documentation (Manual and Online Help)
>>> During the OCUS meeting the whole issue around the 2 user manual was totally
>>> bogus: The User Manual is a deliverable of the development team (as is
>>> online help, which is part of your UI-standards).
>>>
>>> On Wednesday prior to the OCUS meeting, I had David Chan at my house, and
>>> given him an extensive demo, a code run-down and showed him some of the
>>> above documentation that I wrote while making my proof of concept. At first
>>> his stance at documentation was: "Don't bother: Nobody keeps them up to
>>> date, so they are not valuable anyways, so better not do it all together".
>>> Probably this explains a.o. reasons why today there is hardly any
>>> documentation. I said I disagreed with his vision: Documents 1,2,3,4,5,6 are
>>> fairly static documents. Together they will cost about a month of initial
>>> effort of a senior developer to write, and thereafter, these documents
>>> change only 5-10% year over year, so only little effort is required to
>>> maintain them. As for the other documents: The development-team will have to
>>> be disciplined enough to grow them with each new function they make. The
>>> code base is now so large, that a dedicated Analyst as well as a dedicated
>>> Software Tester are needed on the project, and therefore these 2 positions
>>> need to be filled by very senior people.
>>> Regarding requirements, David's concern of them being unmaintainable is
>>> partially valid, but it depends on how you write them. If you go full flat
>>> out with writing requirements in UML with all kinds of fancy views and
>>> diagrams on the object model, than yes David is correct. But requirements
>>> can be written in many different ways: Choosing to work with user stories
>>> for example lessons the burden significantly.
>>> Since David got a feeling I have some affinity to writing documentation
>>> because I see the value in it, he asked me whether I would be willing to
>>> document the current OSCAR. No way: I think it is cheaper to clean up first,
>>> and while doing that write your documentation. David told me that clean-up
>>> is already on its way: For 2 years he secured $75000,- for this activity
>>> (Jackson is on that).
>>>
>>> Also because of ISO, we will probably have to take away the rights of many
>>> people to check-in code into the repository. Code contributions have to be
>>> moderated by a core full-time developer (paid positions). This to ensure
>>> that the contribution does comply with the project standards, and thereby
>>> that we are not risking our ISO certification at a next audit. And this is
>>> not unusual: Most successful Open Source projects work like that. Take Linux
>>> for example: Linus has assigned specialists for various parts that make up
>>> the Linux system that moderate code changes to the modules under their
>>> responsibilities.
>>>
>>> As for the technology side: I choose GWT not because it looks so cool, but
>>> mainly because it can lead to a significant reductions in both code volume,
>>> as well as a significant reduction in technologies and frameworks used. The
>>> demo you saw was running without me programming:
>>> - struts
>>> - spring
>>> - JSPs
>>> - HTML
>>> - CSS
>>> - JavaScript
>>> The main technologies were Java and Hibernate. The fair number of screens in
>>> the OSCAR application could be made with just what I had in the demo, and
>>> can therefor with the helper-library that I programmed myself, be programmed
>>> by intermediate level developers.
>>> Note: I have to do write a bit of our own libraries to compensate for
>>> wanting to get rid of Spring, but that should be overly difficult.
>>>
>>> Another 2 senior developers will have to be present on the project with
>>> HTML, CSS and maybe JavaScript skills to develop custom components to do the
>>> appointment and e-chart screens. These developers also have to moderate the
>>> intermediate developers doing the hibernate layer: I'm currently working on
>>> hiding in the hibernate layer some of the db-modeling errors that were made
>>> in the past, so that bad database design isn't rippling through all the way
>>> into the business- and UI-layers of the application. After this phase is
>>> done, the db can be migrated easily: Only some Hibernate mappings will have
>>> to change, without having to touch the vast majority of the code.
>>>
>>> Don't pin me on GWT, there are other directions that can be taken for OSCAR
>>> as well (http://www.icefaces.org/main/home/ to name but one). I think a kind
>>> of OSCAR developer summit should be organized pretty soon (before I start
>>> working on Alberta Billing), and maybe before Jackson burns the
>>> 2x$75.000,-), in which developers as a group are going to decide in which
>>> direction development should be taken.
>>>
>>> All these activities come at a price. My initial ballpark figure to realize
>>> all this is about $750.000,- annually on an ongoing bases. That will give us
>>> at least 4 seniors, 2 intermediate people, their
>>> hardware/network/telecom/traveling and ISO certification expenses. So I have
>>> given that as an assignment to John, and we are hopeful about him raising
>>> it.
>>>
>>> Also by starting to think big, we might be more successful at penetrating
>>> market share. In the OCUS meeting everyone was particularly proud to be
>>> approaching 1000 users. But that is only roughly about 2% of the Canadian
>>> market after 10 years of efforts. One can also take a stance: Wouldn't we
>>> already be at 10 or 15%, if 3 years ago, someone was smart enough to raise
>>> enough money to do all these clean-up's, do the documentation, build the
>>> billing modules for all the provinces etc. Especially after what David Daley
>>> brought to the table: Commercial vendors will be offering EMR/EHR software
>>> and services for free (free $$$-wise, but take valuable patient data as
>>> payment), and many cash-strapped family physicians might fall into this
>>> marketing trap. This would be an easy thing to do for these vendors, since
>>> some provincial governments seem to favor ASP solutions. Above all, before
>>> the governments will have a clue of what is going on, it will be too late
>>> and they will not be able to revert the situation anymore. This practice
>>> will be lucrative for those vendors, and they won't be cash-strapped to fund
>>> their development efforts. So, aside from today's short-slightness of both
>>> federal and the various provincial governments to give proprietary vendors
>>> preferential treatment, OSCAR will face even harder competition from vendors
>>> 'stealing' patient data. In this light, I reckon that if we go on like the
>>> way things have been going, it will take us a long long time to get to even
>>> 5%.
>>>
>>> So regarding the not-for profit organization: Great in my opinion. The
>>> current OSCAR was mainly developed, funded and run by McMaster with the help
>>> of some grants. Universities however are places of education and research.
>>> As a product of research, often excellent projects are incubated at
>>> universities, and OSCAR can be easily qualified as one such successful
>>> project. Universities have however limited resources to sustain ongoing
>>> development: again OSCAR can be seen as a sad example of this where current
>>> development activities (of taking a click away here and there, or change
>>> some colors elsewhere) can hardly be earmarked as 'research' or world
>>> shocking novelties.
>>>
>>> Regarding the board seats of this not for profit organization I was not at
>>> all happy: The share of seats assigned to universities is non-proportionally
>>> large. Also having no seats reserved for important stake holder groups such
>>> as the vendors, and the software developers, can be viewed as awkward at
>>> best. More than 80% of software projects are known to fail in Canada. Since
>>> this corporation is not much different from a software development company,
>>> some direct developer expertise input into the board seems prudent (look at
>>> The Linux Foundation board member list as an example). I think that David
>>> Chan is not the ideal candidate to represent the development team: He is a
>>> professor of medicine, not a full time IT professional who has kept up with
>>> modern software development practices and strategies. Also since David is
>>> attached to McMaster, there is a conflict of interests there.
>>> As for the vendors: They invest a lot of personal time and effort in OSCAR
>>> as well, and without them, OSCAR would not nearly be as big today. Having
>>> vendor seat or seats in the not for profit organization seems fair: They
>>> have a right to know which direction the development is going to take, and
>>> the right to influence it as well. Their livelihoods depend on it.
>>> I'm also open to have someone on the board that is more of a business
>>> person: A person that can think big, maybe a person with more marketing
>>> experience. Aside from university professors like Dr. Martin Dawes, I think
>>> a person like that can be very helpful in the current government unfriendly
>>> OpenSource EMR climate.
>>>
>>> For those developers who were not at the event, here is what I wrote to
>>> Colleen to help her out with her minutes regarding the presentation that I
>>> did:
>>>
>>> "We are on the eve of the the 10th birthday of OSCAR, and OSCAR will be
>>> around for yet another decade easily. Knowing this, and knowing the vast
>>> progress that is being made in programming tools and libraries, I found the
>>> time was ripe to look at newer technologies than those that were available
>>> in the year 2000. Newer technologies that will allow us to develop faster,
>>> write code that is cleaner, write less code: In short code that is easy
>>> maintainable.
>>>
>>> A fair few libraries/frameworks have already been added to OSCAR since it's
>>> inception, and adding yet another one should not be done without giving it
>>> due consideration, or just because the tool 'looks cool' or for some other
>>> invalid reason. Once we do, the module build in it is likely going to be
>>> around a long long time. So although I'm eying GWT (Google Web Toolkit)
>>> technology for Alberta Billing in the short term, I want to make sure that
>>> this toolkit could not just be used for the billing module, but for other
>>> screens in OSCAR as well.
>>>
>>> Hence I have been working on a prototype GWT implementation of a few 'old'
>>> OSCAR screens. This allowed me to focus on the technological challenges that
>>> we always face when embracing a new technology, vs. me having to both face
>>> these challenges and having to design the Alberta Billing on top of that.
>>>
>>> Goals Proof of Concept
>>> 1) New technology can run in conjunction with the old technologies
>>> 2) UI is as responsive as today's OSCAR
>>> 3) Load on the server is going to decrease
>>> 4) Network load is going to decrease
>>> 5) UI can be entirely multilingual
>>> 6) That the UI becomes more user friendly (short-cut keys, quick navigation,
>>> live-update, asks to save modified data)
>>> 7) That fewer technologies are used to make screens than today
>>> 8) That screens can be made with fewer lines of code that are simple
>>> 9) That existing OSCAR screens can be invoked from the new
>>>  technology screens
>>> 10) Single logon
>>> 11) The new screens log screen access as the old screens do
>>> 12) That the new screens abide by the same security restrictions as the
>>>     old screens do
>>> 13) Documentation (online help, architecture, db-standards, java coding
>>>    standards, UI standards)
>>>
>>> The goals 1..9 have been realized to my satisfaction. Goal 13 is coming
>>> along nicely, as I'm letting the documentation grow with my progress. 10..12
>>> are not so exciting from a 'Proof of Concept' standpoint of view, as I see
>>> little technical challenges in there: It is only a matter of time until
>>> these will be completed.
>>>
>>> By doing the 'proof of concept', I hope get buy-in from David, Jay and
>>> others in the developer community, as well as from vendors and OSCAR users.
>>> "
>>>
>>> Aart
>>>
>>> Peter Hutten-Czapski wrote:
>>>    
>>>      
>>>> During the OSCUS meeting Aart gave a demonstration of proof of concept
>>>> for using new tools (the Google Webkit) to develop the Alberta billing
>>>> module.  As anyone who has looked at Oscar code is probably aware
>>>> OSCAR has used a number of tools, languages, libraries etc over the
>>>> years, depending on the preferences of who was taking the lead.
>>>>
>>>> While under the hood it looks somewhat... well you know..., this has
>>>> served us well in the past, especially when it comes to our
>>>> phagocytosis of code from other projects (Hylafax, mule, drugref,
>>>> hapi).  However code and projects evolve and now that OSCAR is so big,
>>>> it becomes a challenge for debugging, updating (and not breaking
>>>> dependencies) and dare I mention it, documenting (we do have that
>>>> elephant named ISO in the room).
>>>>
>>>> An argument could be made to come to some consensus to pick just one
>>>> (for new code and for rewrites of existing modules).  The
>>>> demonstration certainly showed that OSCAR could be programmed in the
>>>> Google toolkit.  It is very shiny chrome, and has very nice database
>>>> binding, such that forms are updated without being completely redrawn
>>>> and so on.
>>>>
>>>> There was no discussion of this at OSCUS and presumably the acceptance
>>>> of using the Google toolkit is left to David and Jay.  Hard for them
>>>> not to let code be committed in (yet another toolkit should be no big
>>>> impediment), but it is another matter to *gasp* enforce the tools and
>>>> libraries that we use to program with.
>>>>
>>>> However structure is not necessarily bad.  We are after all now coming
>>>> out with releases on a schedule.  Is it time to start by defining the
>>>> tools that we support/endorse?
>>>>
>>>> ================
>>>> Peter Hutten-Czapski
>>>> Haileybury Ontario
>>>>
>>>> "The attitude that ‘if rural people want these services they’ll have
>>>> to come to the city to get them’ is simply not acceptable…” (Newbery,
>>>> 1999)
>>>>
>>>> Before printing, think about the environment. Avant d' imprimer,
>>>> pensez à l'environnement.
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
>>>> is the only developer event you need to attend this year. Jumpstart your
>>>> developing skills, take BlackBerry mobile applications to market and stay
>>>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>>>> http://p.sf.net/sfu/devconference
>>>> _______________________________________________
>>>> Oscarmcmaster-devel mailing list
>>>> Oscarmcmaster-devel@...
>>>> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>>>>
>>>>      
>>>>        
>>>    
>>>      
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Oscarmcmaster-devel mailing list
> Oscarmcmaster-devel@...
> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>
>
>
>       __________________________________________________________________
> Looking for the perfect gift? Give the gift of Flickr!
>
> http://www.flickr.com/gift/
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Oscarmcmaster-devel mailing list
> Oscarmcmaster-devel@...
> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>  


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by Ted Leung-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Nov 1, 2009 at 12:28 PM, Aart de Vries <aart.de.vries@...> wrote:
Thanks Peter, any more people with input, especially from the lead
developers?

Don't say you should have little influence: The problems you shook up in
your opening e-mail of this thread are real. It is a bit shocking that
an 'amateur' programmer had to do it.


Without embarking onto this topic in too much detail. I just wanted to say that the Hamilton-Oscar developer and the Toronto-Caisi developers have had these discussions over the last 3 years. Specifically they did pertain to performance, maintainability of the code base as well as unifying the libraries and documentation.

It seems like the people involved in this discussion on this thread were never part of those other meetings and discussions.

We has similar concerns about the scope of work, magnitude of change and compatability of new v.s. old libraries etc.

We've made "slow" progress on making some of these changes - mainly because there really isn't anyone of us dedicated to fixing and cleaning up the existing code base. Sometimes it also seems like the mess is growing faster than we're able to clean it up.

My suggestion is that if you're attempting to embark on such a major reworking of the system, you might want to actively gather the hamilton-oscar and toronto-caisi groups to find out what has already been doing and or what is already in the works. It is my understanding that these two groups contribute the majority of the code to the code base.


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by Aart de Vries-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Ted,

You are right: I was not part of the discussion, I'm certainly to new to
the OSCAR game. If you have had meetings and discussions on this topic:
Were there any minutes made during those that are open to the public?
It would be really helpful to be able to read upon these things, so that
ignorant developers such as myself don't ask questions that already have
been answered in the past.

Aart

Ted Leung wrote:

> On Sun, Nov 1, 2009 at 12:28 PM, Aart de Vries <aart.de.vries@...
> <mailto:aart.de.vries@...>> wrote:
>
>     Thanks Peter, any more people with input, especially from the lead
>     developers?
>
>     Don't say you should have little influence: The problems you shook
>     up in
>     your opening e-mail of this thread are real. It is a bit shocking that
>     an 'amateur' programmer had to do it.
>
>
> Without embarking onto this topic in too much detail. I just wanted to
> say that the Hamilton-Oscar developer and the Toronto-Caisi developers
> have had these discussions over the last 3 years. Specifically they
> did pertain to performance, maintainability of the code base as well
> as unifying the libraries and documentation.
>
> It seems like the people involved in this discussion on this thread
> were never part of those other meetings and discussions.
>
> We has similar concerns about the scope of work, magnitude of change
> and compatability of new v.s. old libraries etc.
>
> We've made "slow" progress on making some of these changes - mainly
> because there really isn't anyone of us dedicated to fixing and
> cleaning up the existing code base. Sometimes it also seems like the
> mess is growing faster than we're able to clean it up.
>
> My suggestion is that if you're attempting to embark on such a major
> reworking of the system, you might want to actively gather the
> hamilton-oscar and toronto-caisi groups to find out what has already
> been doing and or what is already in the works. It is my understanding
> that these two groups contribute the majority of the code to the code
> base.
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
>
> _______________________________________________
> Oscarmcmaster-devel mailing list
> Oscarmcmaster-devel@...
> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>  


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by Ted Leung-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tthere use to be developer meetings which seem to have stopped in the last little while.

I know that at least some of the discussions were over email, not entirely sure if it was on the mail-list or if it was on direct emails.

We've had discussions on revamping everything from the database, database tables, hibernate/jpa to the mid layer/spring, to the rendering jsp/struts/jsf, to unifying ajax frameworks such as gtw etc. These were pretty long meetings / discussions so I'm not going to go through it in email.

I think there's discussion right now about starting the developer meetings again. That might help spread information and co-ordinate disparate efforts again.

On Sun, Nov 1, 2009 at 7:39 PM, Aart de Vries <aart.de.vries@...> wrote:
Thanks Ted,

You are right: I was not part of the discussion, I'm certainly to new to
the OSCAR game. If you have had meetings and discussions on this topic:
Were there any minutes made during those that are open to the public?
It would be really helpful to be able to read upon these things, so that
ignorant developers such as myself don't ask questions that already have
been answered in the past.

Aart

Ted Leung wrote:
> On Sun, Nov 1, 2009 at 12:28 PM, Aart de Vries <aart.de.vries@...
> <mailto:aart.de.vries@...>> wrote:
>
>     Thanks Peter, any more people with input, especially from the lead
>     developers?
>
>     Don't say you should have little influence: The problems you shook
>     up in
>     your opening e-mail of this thread are real. It is a bit shocking that
>     an 'amateur' programmer had to do it.
>
>
> Without embarking onto this topic in too much detail. I just wanted to
> say that the Hamilton-Oscar developer and the Toronto-Caisi developers
> have had these discussions over the last 3 years. Specifically they
> did pertain to performance, maintainability of the code base as well
> as unifying the libraries and documentation.
>
> It seems like the people involved in this discussion on this thread
> were never part of those other meetings and discussions.
>
> We has similar concerns about the scope of work, magnitude of change
> and compatability of new v.s. old libraries etc.
>
> We've made "slow" progress on making some of these changes - mainly
> because there really isn't anyone of us dedicated to fixing and
> cleaning up the existing code base. Sometimes it also seems like the
> mess is growing faster than we're able to clean it up.
>
> My suggestion is that if you're attempting to embark on such a major
> reworking of the system, you might want to actively gather the
> hamilton-oscar and toronto-caisi groups to find out what has already
> been doing and or what is already in the works. It is my understanding
> that these two groups contribute the majority of the code to the code
> base.
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
>
> _______________________________________________
> Oscarmcmaster-devel mailing list
> Oscarmcmaster-devel@...
> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel



--
Ted Leung
tedleung@...
---
This e-mail is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. No waiver of privilege, confidence or otherwise is intended by virtue of communication via the internet. Any unauthorized use, dissemination or copying is strictly prohibited. If you have received this e-mail in error, or are not named as a recipient, please immediately notify the sender and destroy all copies of this e-mail. Please be aware that internet communications are subject to the risk of data corruption, transmission errors, and privacy breaches.

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel

Re: Is there time to apply some discipline to the codebase?

by David Chan-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Maybe when CAISI and McMaster developers are meeting, others can dial in.
David
 
David H Chan, MD, CCFP, MSc, FCFP
Associate Professor
Department of Family Medicine
McMaster University



From: Ted Leung <tedleung@...>
To: oscarmcmaster-devel@...
Sent: Mon, November 2, 2009 9:58:59 AM
Subject: Re: [Oscarmcmaster-devel] Is there time to apply some discipline to the codebase?

Tthere use to be developer meetings which seem to have stopped in the last little while.

I know that at least some of the discussions were over email, not entirely sure if it was on the mail-list or if it was on direct emails.

We've had discussions on revamping everything from the database, database tables, hibernate/jpa to the mid layer/spring, to the rendering jsp/struts/jsf, to unifying ajax frameworks such as gtw etc. These were pretty long meetings / discussions so I'm not going to go through it in email.

I think there's discussion right now about starting the developer meetings again. That might help spread information and co-ordinate disparate efforts again.

On Sun, Nov 1, 2009 at 7:39 PM, Aart de Vries <aart.de.vries@...> wrote:
Thanks Ted,

You are right: I was not part of the discussion, I'm certainly to new to
the OSCAR game. If you have had meetings and discussions on this topic:
Were there any minutes made during those that are open to the public?
It would be really helpful to be able to read upon these things, so that
ignorant developers such as myself don't ask questions that already have
been answered in the past.

Aart

Ted Leung wrote:
> On Sun, Nov 1, 2009 at 12:28 PM, Aart de Vries <aart.de.vries@...
> <mailto:aart.de.vries@...>> wrote:
>
>     Thanks Peter, any more people with input, especially from the lead
>     developers?
>
>     Don't say you should have little influence: The problems you shook
>     up in
>     your opening e-mail of this thread are real. It is a bit shocking that
>     an 'amateur' programmer had to do it.
>
>
> Without embarking onto this topic in too much detail. I just wanted to
> say that the Hamilton-Oscar developer and the Toronto-Caisi developers
> have had these discussions over the last 3 years. Specifically they
> did pertain to performance, maintainability of the code base as well
> as unifying the libraries and documentation.
>
> It seems like the people involved in this discussion on this thread
> were never part of those other meetings and discussions.
>
> We has similar concerns about the scope of work, magnitude of change
> and compatability of new v.s. old libraries etc.
>
> We've made "slow" progress on making some of these changes - mainly
> because there really isn't anyone of us dedicated to fixing and
> cleaning up the existing code base. Sometimes it also seems like the
> mess is growing faster than we're able to clean it up.
>
> My suggestion is that if you're attempting to embark on such a major
> reworking of the system, you might want to actively gather the
> hamilton-oscar and toronto-caisi groups to find out what has already
> been doing and or what is already in the works. It is my understanding
> that these two groups contribute the majority of the code to the code
> base.
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
>
> _______________________________________________
> Oscarmcmaster-devel mailing list
> Oscarmcmaster-devel@...
> https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel
>


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel



--
Ted Leung
tedleung@...
---
This e-mail is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. No waiver of privilege, confidence or otherwise is intended by virtue of communication via the internet. Any unauthorized use, dissemination or copying is strictly prohibited. If you have received this e-mail in error, or are not named as a recipient, please immediately notify the sender and destroy all copies of this e-mail. Please be aware that internet communications are subject to the risk of data corruption, transmission errors, and privacy breaches.


Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new Yahoo! Mail
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Oscarmcmaster-devel mailing list
Oscarmcmaster-devel@...
https://lists.sourceforge.net/lists/listinfo/oscarmcmaster-devel