Ive been watching the wendus project grow for some time and it does
show the way for future web applications. The main focus here is
maximizing the performance and features of the underlaying
infrastructure to deliver a reliable and robust environment to the end
user. In english that means macking your stuff quick and easy to work
with.
I have spent the last five years developing an api that enables web
developers to build fully interactive sites with the minimum of code. I
seperate a 'sub-system of methods' from the main visible document in
the
browser. I dont have to worry about how the sub-system works, just how
to program against it. This makes for easy site creation using advanced
features like windows, icons, images and text because you dont need to
worry about how they are created, you only need to know how to write
the simple code that calls the methods that generate these objects.
Having seen the code and how it is laid out I have to say
'nightmare!!!' Its not good, the visual effect and feel is first rate
but the code is a nightmare to administer and if you wanted to change
something you would have trouble.... Also the size of the codebase
could be a lot smaller and logically a lot more efficiant. Looking at
the lifespan of the codebase there could be a lot done to improve the
usability of the code. The idea is to write code once and use many
times and apply extrapalation into the equation and you could cut your
codebase by 60% or more....! Why repeat statments when you could wrap
them up and pass them variables instead..... The variable set the
parameters therefor you have only written that part of the code once
and used it many times, for example.... A simple image display method
could be written once say like img(id,w,h,t,l,b,z){30 lines of code
here!} and every time you need an image you write img(id,w,h,t,k,b,z);
this saves your writing the {30 lines of code here!} over and
over.....
The thing with programming for browsers is that no 2 are the same and
IE falls apart when trying to use complex mozilla script.... It is hard
to fit all sizes however sophisticated browser checking can help make
things more graceful when things go wrong....
Personally, you have taken on a difficult challenge my friend and you
are showing the way forward, industry is catching up quick and it wont
be long before these kind of net loaded operating systems will become
more common. The golden rule is to make things as simple as possible by
not over complicating the issue.
Keep it going....
Dna....
--
dna
Hi dna,
first of all, thank you for your time, and also I appreciate your
advise.
>Having seen the code and how it is laid out I have to say
>'nightmare!!!' Its not good, .... the code is a nightmare to
>administer and if you wanted to change something you
>would have trouble....
>The thing with programming for browsers is that no 2 are the
>same and IE falls apart when trying to use complex mozilla
>script.... It is hard to fit all sizes however sophisticated browser
>checking can help make things more graceful when things go
>wrong....
Few days ago, I met Julie who is a software engineer in Google and
working for Gmail and Gmap team. We had a nice discussion mainly about
cross-browser support. She specifically showed her interest on the
fact that Wednus project supports most DOM supporting browsers
including KHTML-based browsers (Konqueror, Safari) and Opera without
looking up the navigator.userAgent property.
The source code of Wednus Window, for example, is browser-neutral, so
it has no single routine just for a specific browser type except one
place I refer the 'window.opera' for obtaining the more accurate
browser size for opera, but it'll be removed soon. (v0.3.6)
She also asked me what I would choose to do if I become known that a
new feature I want to add is showing inconsistency among 'minor'
browser types.
I said, "Then I don't implement the fancy new feature. But I don't
forget it."
And I also tell her, I could eventually implement all those features on
other days, of course with cross-browser support.
One very interesting fact I've learned in web application development
is that there are always multiple way to implement one specific feature
although it looks so atomic.
Making an image button with hover effect, for instance, can be
implemented many different ways. We all know there is onmouseover
event for Image object that we can listen, but I also can imagine that
it also could be done by constantly calculating the distance b/w the
image and the mouse pointer. If the horizontal distance is smaller
than the width of the image and vice versa for the vertical distance,
then it means the mouse is on the image.
I know using onmouseover or CSS styling is more elegant, but it's not
always the best especially when it shows different characteristic over
different browsers.
So, I can tell, not all of that 'nightmare' is redundant.
When it comes to the parts where assembling window components and
defining window methods, it is truly a nightmare to me as well.
Recently I have realized why we implement separate interface for a
class (or a sophisticated object). So I think the first part will
become organized as I apply the interface-core design style. And for
the second part, I've also got an idea to relate each window
component in organic manner, so they can react (repositioning/resizing)
for a certain event by themselves by calling each other recursively.
>the size of the codebase could be a lot smaller
>and logically a lot more efficient.. Why repeat
>statments when you could wrap them up and pass
>them variables instead...
>The golden rule is to make things as simple as possible by
>not over complicating the issue.
Some part, I am aware so working on it, but there is chance that I
don't aware the repeating of the code block for the specific part
(pattern) you may talk about. So it will be more than grateful if you
pin point the spots.
Again, thanks for your time and consideration, and I also have to say
what you have achieved at ' www.online-media-services.com ' is great.
I especially like the control-panel interface.
I wish I can get a chance to help you too. thanks, dna.
Sundew Shin
Manager/Developer
Wednus Project
http://wednus.com