SpeakUp with Brian Smith from 08/07/99, Topic: The EverBlue project.

<mandie>  bsmith: welcome :)
<Swanee>  bsmith: You're not late... just fashionably tardy :-)
<bsmith>  hello everyone
<lmaxson>  hello.
<lmaxson>  Introductions are in order.
<Swanee>  lmaxson: Amen
<Projects>  this is me, is that you? :)
<mandie>  VOICE would like to welcome our guest for this speakup, Brian Smith
<mandie>  Brian will be discussing the EverBlue project
<bsmith>  How should I begin? :)
<coin>  hi there
<mandie>  at the end? ...just tell us a bit about yourself and then on to the project :)
<lmaxson>  Brian, begin with the objectives of EverBlue.
<coin>  hi davidA
<Swanee>  bsmith: Leave out the three sided log cabin and go from your first atari game. :-)
<lmaxson>  I'll go and come back.
<bsmith>  Ok, well I've been using OS/2 since 1992, I've been developing OS/2 based software for the last 3 years. I started with my Unix intrigue in 1993 with FreeBSD and Linux. So I created a port of BitchX and WindowMaker.
<eTronik>  OK! I'm back this time checking out GT Irc !
<bsmith>  Then Danielle Vistalli and I got to talking about a port of GTK to the presentation manager. When I started working on the port I learned that to port GTK we would need to port a layer called GDK.
<bsmith>  The GDK is basically a layer above Xlib. Any GDK calls are translated into Xlib calls (on unix) ... or Win32 calls on Windows.
<bsmith>  The Windows port of Gimp/GTK did this by rewriting the GDK to use Win32 calls instead of Xlib calls.
<eTronik>  ...
<bsmith>  So I started looking at the Win32 source. I liked the idea... however, it would seem to make more sense to me to do this work in Xlib instead of the GDK which would allow non-GTK programs to take advantage of this work.
<bsmith>  So I hacked out an initial code base for it.... very primitive. There was a German team also planning to do similar work (with porting of the GTK) so we joined forces.
<bsmith>  And we took on the codename that the German team had chosen which was Everblue.
<lmaxson>  Immerblau?
<bsmith>  Then Atony Curtis joined the team and single handedly quadrupled the pace of the development.
<bsmith>  Antony
<bsmith>  rather :)
<mandie>  bsmith: GTK=Gimp Tool Kit?
<Projects>  and GDK = ?
<bsmith>  mandie: Well there has been discussion about what it actually stands for... some people say Gimp Toolkit and others GNU Toolkit....
<Projects>  ah, GNU makes sense
<mandie>  thx
<bsmith>  Projects: Not sure about GDK
<Projects>  good... now I don't feel so stupid :-)
<bsmith>  A while back Antony became busy with work (and so did I) and development slowed to a crawl.
<bsmith>  I've finished up most of my other side projects so now I am once again focused on Everblue. :) And I've been looking for some other programmers to help the development.
<mandie>  bsmith: is this also considered as one of the NetLabs projects?
<bsmith>  mandie: yes this is a netlabs project. :)
<mandie>  thought I'd just throw that in :)
<lmaxson>  So far you have discussed three layers, xlib, gdk, and gtk.
<lmaxson>  What functionally distinguishes one from the other?
<bsmith>  There is also glib... but glib ports with almost no changes when using Antony's pthreads port.
<lmaxson>  What do we have when it is all done?
<bsmith>  lmason: well Xlib is basically windowing primitives.
<bsmith>  It allows you to create windows on the screen, handles colors, and event handling.
*  WarpHoss notes GDK = General Drawing Kit http://www.ds14.agh.edu.pl/docs/gtk+/gdk_toc.html *
<bsmith>  Xlib does not provide any highlevel widgets or functionality
<bsmith>  Which is why there is a large number of toolkits available for Unix and X/Windows.
<Projects>  WarpHoss: thanks... my guess was miles off the mark :)
<bsmith>  Such as Xqt, XForms, QT, GTK, Motif.... etc...
<bsmith>  WarpHoss: Thanks :)
<lmaxson>  The only one "open systems" is motif?
<bsmith>  Open systems?
<lmaxson>  In your unix world it's your invention.
<eTronik>  Whats the porting status each previously mentioned layers and what specific kind of help to you require ??
<lmaxson>  OSF--Open Systems Foundation--consortium of unix vendors including IBM.
<bsmith>  Ok... a little more explaination needs to be done.
<bsmith>  The design of Everblue is not the complete removal of XFree86.
<bsmith>  But the removal of the XServers.
<bsmith>  Everblue replaces the X11.DLL from XFree86. (Which is basically Xlib)
<bsmith>  When finished it should completely replace all the XFree86 X11.DLL functionality with the PM equivalency.
<bsmith>  Therefore programs already compiled for XFree86 should be able to run with the Everblue on the PM desktop without running an XFree86 XServer.
<lmaxson>  When finished what we will be able to do differently?
<bsmith>  They will not need to be recompiled at all.
<bsmith>  lmaxson: run an XFree86 program basically as if it were a PM program.
<lmaxson>  What XFree86 programs come to mind?
<Swanee>  So rather than setup XFree86, we can run X proggies with the X11.dll?
<Projects>  Gimp
<bsmith>  well currently I have xv, licq, xcalendar, xpostit, xedit, xless, xclock, etc working
<DaveW>  (http://www.netlabs.org/everblue/ for details of what it does)
<Swanee>  Thanks DaveW
<bsmith>  xv and licq are the latest additions to the "working" programs
<bsmith>  Gimp may take some time to get working because X extentions are not yet implemented.
<eTronik>  will the clipboard be shared with those apps ?
<mandie>  or !ask everblue
<bsmith>  And Gimp uses the MIT Shared memory extention.
<mandie>  !ask everblue
<VoiceBot>  [everblue] http://www.netlabs.org/everblue/ (mandie)
<mandie>  !ask netlabs
<VoiceBot>  [netlabs] NetL@bs http://www.netlabs.org/ (mandie)
<eTronik>  so how many persons in total are working in this effort ?
<bsmith>  eTronik: if you use the XFree clipboard sharing program
<bsmith>  eTronik: well, there are at least 10 people who are "on the team".
<eTronik>  :-)
<bsmith>  but most of the code came from Antony .... and next from me....
<eTronik>  and what specific tasks are required to complete this effort ?
<Hawklord>  BitchX-1.0+ by panasync - Warp 4.0
<eTronik>  and in what ways could you use some distributed help ? :-)
<bsmith>  eTronik: well.... we need to finish up some unimplemented APIs ... but most of the work will be finding bugs in the already implemented APIs.
<eTronik>  how does one find them ? any sort of sistematic approach to that ??
<bsmith>  There are bugs in the current APIs because.... bugs just tend to happen for one... and also we did not always completely understand what the functions were supposed to be doing entirely. And therefore implemented some of the functions wrong.
<bsmith>  eTronik: well the first thing that needs to happen is I need to figure out how to commit changes to the CVS we just had setup at Netlabs... I'
<bsmith>  I've been slacking off ;)
<eTronik>  and next ?
<bsmith>  eTronik: we had someone creating a list of API calls and their current status. However our efforts have not been entirely coordinated.
<hugh_>  bsmith: Well I guess the Netlabs CVS-client we use for ODIN will just do fine ;)
<bsmith>  eTronik: Well I am planning an alpha or a beta in the next few days, and figuring out how to commit my latest changes to the CVS. Once we get to that point we can get user feedback and have a more coordinated effort to the development.
<eTronik>  so that someone had to go though all the sourde code ??
<bsmith>  hugh_: yeah I have that installed. ;)
<bsmith>  eTronik: what do you mean?
<bsmith>  oh
<bsmith>  no
<eTronik>  :-)
<bsmith>  We have a file called Xlib_stubs.c which has a list of all unimplemented functions
<bsmith>  when someone implements a new function they have to remove it from the stubs file.
<bsmith>  Therefore the Everblue DLL looks just like the XFree86 DLL from an external program's point of view.
<eTronik>  But then who load the Xfrre86 application if not the X server ?
<bsmith>  you can run it from a OS/2 prompt or from the WPS (if that is what you mean)
<hugh_>  eTronic: programs are allways loaded by the OS, the X_server only provides the GUI
<eTronik>  but then you use some of Xfree infrastructure no ??
<bsmith>  Well the other XFree86 DLLs are used
<eTronik>  ahh !
<bsmith>  And much of the Everblue code is modified code from the XFree86 X11.DLL
<mandie>  do we have other members of NetL@bs here?
<TheSeer>  ktk is on party right now ;-)
<mandie>  or the Everblue project
<bsmith>  well Kerni is from os2.org ;)
<hugh_>  eTroniK: everblue will only change the frontend from an Fullscreen OS/2 app (via X-server) to PM
<Kerni>  bsmith: yeah. I am here :-)
<bsmith>  hugh_: yeah it's a very similar project to Odin.
<bsmith>  :)
<eTronik>  I see
<hugh_>  bsmith: It's @ leatst not so complicated
<lmaxson>  Which one allows us to run Windows apps under OS/2?
<bsmith>  lmaxson: Odin
<Projects>  Odin
<mandie>  !ask odin
<eTronik>  That debugging part...
<VoiceBot>  [odin] The re-born win32-OS/2 project - http://www.netlabs.org/odin/ (madodel0)
<lmaxson>  That means more than a gui replacement.
<bsmith>  hugh_: I also have an ELF to a.out converted which may allow program conversion as well
<hugh_>  bsmith: well thats interesting ;)
<bsmith>  (EMX uses a.out) but the issues there will be the EMX libc and all the many variety of libc's on linux/BSDs etc
<bsmith>  I am sure there are not going to be entirely compatible
<Kerni>  bsmith: everblue probably once could extend to run any x-binary from linux on the pm, like odin does. what do ya think ?
<bsmith>  Kerni: well the possibility is there... the issue would be API compatibility with the API's on the source platform
<eTronik>  what sort of debugging process will get in place ?
<bsmith>  Debugging of Everblue is a somewhat difficult thing
<eTronik>  youmentioed that but...
<bsmith>  Since we are using EMX to produce OMF DLLs, so Antony had used a scheme used by XFree86 to do fault trapping which reports the API history and last check point hit before the crash
<eTronik>  sec.
<lmaxson>  Who is writing the documentation of the API's.
<bsmith>  Well the API's are well documented by the X consortium and various Unix vendors
<bsmith>  so that is something we don't have to worry about much
<lmaxson>  If they are so well documented, how could they have been misunderstood?
<bsmith>  lmaxson: well the interaction complexities are not very easy to understand always.
<lmaxson>  Then they are not well documented.
<bsmith>  X was designed to run over a network. So there is lots of synchronization code... and oddities of communicating with the window manager.
<bsmith>  A good example of a hard to understand API is XAllocPlanes()
<bsmith>  There are many pages of documentation yet the implementation is still very difficult :)
<lmaxson>  I'm sorry to belabor a point here, but seemingly you do not use a formal logic specification language.
<lmaxson>  You seem to list an API and an informal language description.
<bsmith_>  sorry about that my ISP cut out
<bsmith_>  what was the last thing you saw?
<lmaxson>  There are many...
<Projects>  MODE +o bsmith_
<eTronik>  lmax: the originall documentation is writeen in an informal kind of way I think
<Sector>  There are many pages of documentation yet the implementation is still very
<Sector>  difficult :)
<bsmith_>  In any case I don't think we need to spend much effort on documentation
<bsmith_>  almost no programs are written in pure Xlib anymore
<lmaxson>  Then what is the purpose of the port?
<eTronik>  apps are written in highler level libs which in turn call Xlib APIs right ??
*  Swanee regrettably has to leave. (28 yards of concrete await... what a nice way to spend a weekend. I'm sooo glad to have friends that need me. ) I'll catch up on the discussion with the log. *
<bsmith>  eTronik: right
<bsmith>  like Xqt, GTK, QT, motif....etc
<Projects>  see ya Wayne
<bsmith>  Xforms....
<Swanee>  Thanks bsmith. Bye all.
<Swanee>  See you Peter
<bsmith>  byw Swanee
<bsmith>  bye
<bsmith>  Anything else?
<lmaxson>  You obviously place some importance on the port. It eludes me.
<bsmith>  lmaxson: What eludes you? The importance?
<lmaxson>  Yes.
<Kerni>  how long do you expect the development to take, until such things like gimp work ?
<lmaxson>  What do we as OS/2 users have when it succeeds.
<Kerni>  lmaxson: gimp running on PM !!
<bsmith>  Well the ability to run any XFree86 application on the presentation manager isn't important to you?
<lmaxson>  How have I been able to get along without gimp?
<Projects>  gimp on PM would be great
<lmaxson>  Why?
<bsmith>  It would like double the PM application base instantaneously
<bsmith>  lmaxson: obviously you have never used the Gimp :)
<lmaxson>  Obviously.
<eTronik>  nor Xfree86 it appears :-)
<DaveW>  and Linux is likely to accelerate, so there will be many more
<lmaxson>  You are assuming that Linux is accelerating to somewhere.
<bsmith>  Definitely
<bsmith>  lmaxson: for better or for worse it is.
<DaveW>  doesn't matter what you have used, just that there is a lot of software out there that we will be able to use
<eTronik>  once its ported over to Xfree86/2 right ?
<Kerni>  lmaxson: anyway, increasing the amount of running programs under OS/2 is ALWAYS good. does the same like as Odin !
<hugh_>  lmaxson: Well you might be able to run the linux version of comunication on the PM without haveing to wait for IBM to port it ;)
<bsmith>  eTronik: right
<lmaxson>  If numbers appeal to you, fine, I happen to have a penchant for function count.
<bsmith>  eTronik: unless the elf2aout works better than expected ;)
<eTronik>  ah!
<Kerni>  lmaxson: programs like GIMP ARE great it functionality, no OS/2 program can compete with it !
<eTronik>  lmax: its not a question of numbers, major software effort is being applied into linux, with this we can have that same software running under OS/2 PM !! what could be better than that ??
<bsmith>  I personally am very fond of unix, but it is missing alot that OS/2 has.... and a perfect mix of the two would be utopia for me.
*  Projects too *
<lmaxson>  I have no problem with merging the Linux and OS/2 community.
*  Kerni too *
<lmaxson>  But how do you define that "perfect mix"?
<hugh_>  The Xlib port will also make it very easy for comercial unix-sw vendors to have /and or keep an OS/2 version
<bsmith>  I can see nothing but good things coming from this.... right now it's basically a job of major debugging.
<eTronik>  lmax: thatres a but in there no ?
<lmaxson>  I'm not objecting. Just trying to understand.
<eTronik>  I know, but whats your point ?
<bsmith>  hugh_: exactly... with EMX, XFree86 and Everblue you have an almost complete unix environment on OS/2
<eTronik>  bsmith: I haven't understand how can we apply some sort of organized debugging...
<lmaxson>  A unix environment on OS/2 might be the straw that causes me to depart.
<eTronik>  :-)
<lmaxson>  UNIX sucks.
<bsmith>  eTronik: I haven't thought of a good way either other than just people using the CVS and spending time
<bsmith>  lmaxson: ack... how can you say that?
<eTronik>  lmax: you don't have to have it ! you only set it up if you choose too !
<lmaxson>  Thirty year history of the sucking sound.
*  bsmith srhugs *
<Kerni>  lmaxson: that's your personal oppinion !
<mandie>  yet another "choice"
<lmaxson>  For personal use the OS/2 kernel is better.
<bsmith>  shrugs rather
<eTronik>  I just find EverBlue exiting !
<bsmith>  lmaxson: I agree... but EMX+XFree86+Everblue doesn't replace the OS/2 kernel....
<lmaxson>  OS/2 is not shy of a kernel. It is shy of applications and drivers.
<lmaxson>  Applications should be platform free.
<Kerni>  EverBlue IS exciting !
<bsmith>  lmaxson: Those are just API layers which allow unix applications to run on OS/2
<eTronik>  its sort of like not even have to install Linux, but still having good part of it available to to me!
<Projects>  eTronik: exactly
<lmaxson>  Then that is a good reason for it without tossing in the unix environment (which isn't).
<Kerni>  lmaxson: think it that way: everblue and odin extend the OS/2 APIs, so all application using any of these apis can run !
<mandie>  sorry I have to leave, thank you Bob for coming today :)
<eTronik>  yes ! OS/2 has a DOS VDM, then a Java VDM, only now will have a Xfree VDM !
<lmaxson>  ODIN I understand.
<bsmith>  lmaxson: It's basically the same idea as odin.
<Kerni>  lmaxson: so you see there is an application you want to use: and it is not important if it is written on linux, oder windows or os/2, it just works
<bsmith>  just with unix applications instead of Windows.
<lmaxson>  VMWare makes sense as well.
<eTronik>  oh so you can understand Win32 applicatins but not Unix applications ??
<TheSeer>  vmware is a nice but totally different idea..
<lmaxson>  Yes, my clients insist on Word documents.
<bsmith>  yes VMWare is a completely different story
<lmaxson>  I have the Virtual PC on my MACs.
<bsmith>  lmaxon: and what if they insisted on Emacs ;)
<Kerni>  lmaxson: if YOU are not interested in it or can't find a use right now for yourself, why must it be useless then ??
<hugh_>  lmaxson: Use staroffice and save as Word
<TheSeer>  and, the design of vmware and systems like it has some bad limitations..
<TheSeer>  like interaction of apps..
<lmaxson>  Kerni, I am not saying it is useless.
<lmaxson>  I am concerned about the effort involved relative to the payoff.
<eTronik>  elaborate please :-)
<bsmith>  lmaxson: well the payoff depends on how well linux (and other unices) boom
<bsmith>  lmaxson: check out www.freshmeat.net
<bsmith>  That will demonstrate the volume and variety of unix applications being released
<bsmith>  I am willing to bet that if users had a nice installation program for EMX, XFree86 and Everblue and if the X apps ran like normal PM apps people would use them just as much as the native PM apps.
<eTronik>  bsmith: will the alpha version run without disrupting the existing Xfree environment ??
<lmaxson>  There is saftety in numbers until the using population can no longer keep track.
<bsmith>  eTronik: this is what I do currently...
<lmaxson>  saftety -> safety
<TheSeer>  keep track on what ??
<bsmith>  I have "." in my LIBPATH before XFREE86\LIB.... I can run X apps from the Everblue directory (using Everblue) and XFree86 from elsewhere
<lmaxson>  seer, on the applications involved.
<TheSeer>  who cares ?
<WarpHoss>  bsmith> Is there a version of this project we can "test" now?
<TheSeer>  just install the "support"-feature and go..
<eTronik>  so even with the EverBlue alpha installed I could always run the full X free server at the same time ?
<TheSeer>  don't care what os or system it was designed for.. just USE it..
<lmaxson>  Seer, the user does once they exceed the fingers of his hand.
<bsmith>  WarpHoss: Well I intend to release an alpha/beta in the next couple days
<bsmith>  It will be posted on OS2.org and I'm sure other news sites as soon as it happens ;)
<lmaxson>  Seer, we agree that application should be independent of OS.
<WarpHoss>  bsmith > that is a good thing.
<TheSeer>  lmaxson: well.. that's the theory. As long the app isn't we need to take care the OS is indepented of the app ;)
<bsmith>  Kerni: BTW ssh beta 2 is done
<TheSeer>  lmaxson: so everblue and odin are the steps to go for now..
<Kerni>  bsmith: hmmm... working ?
<bsmith>  I'll mail it to you as soon as I finish some stuff up here
<Kerni>  great !
<TheSeer>  lmaxson: we all know that's not the way it *should* be but it's the best to go.
<WarpHoss>  bsmith > What in a practical sense can VOICE andothers help you with to ensure this projects success?
<bsmith>  well curently I need programmers with time (familiar with PM and Unix)
<bsmith>  there probably isn't a large source of people to draw from unfortunately :)
<bsmith>  otherwise I just need focus...
<bsmith>  I get distracted by other projects too much
<Kerni>  bsmith: you should finish one affter another .)
<bsmith>  Kerni: I know ;)
<TheSeer>  *g*
<WarpHoss>  bsnith > Is there a formal process in place for problem/bug/questions when the project is rolled out?
<bsmith>  WarpHoss: well there is an Everblue board setup
<bsmith>  one sec... let me find the URL
* ** eTronik is joining channel #voice ***
<Kerni>  we hope netlabs will have a bug-tracking system for all of their projects once
<bsmith>  dpesm
<bsmith>  ack
<bsmith>  doesn't seem to be responding at the moment though
<DaveW>  try http://www.netlabs.org/everblue/
<lmaxson>  I haven to leave, but I thank you for the lesson.
<bsmith>  lmaxson: bye :)
<DaveW>  the virusface link is what comes up in yahoo, too
<lmaxson>  haven -> have
<DaveW>  didn't work from there either
<Kerni>  btw. there are already some screenshots of everblue at os2.org !
<bsmith>  DaveW: this is a different one
<eTronik>  eheh : http://home.i1.net/~naken/ - Convert your Visual Basic applications into
<WarpHoss>  This is good news for those of us in the telecom industry that like PM and hate xfree.
<eTronik>  Unix C to run on X Windows with the GTK library.
<DaveW>  different website for same project?
<bsmith>  eTronik: that is very interesting
<eTronik>  dunno if it work no no but cuuould be interesing
<bsmith>  Anyway
<Dervish>  Hello everyone!
<WarpHoss>  Welcome Dervish.
<bsmith>  if there are no more questions....
<eTronik>  for when the alpha or beta ?
<hugh_>  That would mean we would have many of this great VB-apps like "Joe's CD organizer 2000"
<bsmith>  eTronik: sunday or monday
<Kerni>  hehe
<Kerni>  eTronik: just keep an eye on os2.org :)
<eTronik>  what kind of non-programmer help would you require ?
<bsmith>  eTronik: not very much unfortunately
<eTronik>  great ! :-)
<eTronik>  eeh
<eTronik>  so we'll justkeep an eye out for the Beta :-)
<bsmith>  :)
<Abraxas>  bsmith Thanks for being our guest, today ... we appreciate the effort
<bsmith>  Thanks for havng me! :)
<eTronik>  definitely !!
<Abraxas>  bsmith anytime :-)
<bsmith>  anyway ... bye all ... :)
<WarpHoss>  A very informative session bsmith Thanx.
<eTronik>  bsmith : best of luck !
<Abraxas>  bsmith if you want to do this again ... just drop an e-mail to Judy (liaison@os2voice.org) and we'll get you right in the schedule
<bsmith>  my pleasure :)
<bsmith>  Abraxas: will do!
*  bsmith waves *
*  Abraxas thanks everyone ... a very informative session *
<Projects>  indeed
*  Sector thanks VOICE for arranging these sessions *
<Abraxas>  Dervish the logfile will be posted as soon as possible (hopefully later today)