All the critique of HTTP/HTML UI is probably correct. HTML is not designed for UI and any continuous event based widget set probably can be used to create better and more responsive UI than possible with transactional HTML/HTTP model.
Millstone is not anyhow limited to HTTP/HTML - the support for continuous events based terminals is being added in the future. Still the reality in many applications, where the number of users is large, is that installing anything (including JVM) to client side is unacceptable. Millstone resolves this problem by providing extensive and easy to program UI library that can offer the best of the both world.
First a disclaimer: I am one of the head developers of Millstone and CEO of the company behind it.
I see that the difference in the nunber of features between Echo and Millstone is huge -- in favour of Millstone. I think that this can be most easily demonstrated by just going through Millstone feature online demo (also available for download) and Echo Test application. Some of the most obvious differences are: extensive data binding, server side events, tree component and xsl-theme support.
Still Echo is very nice framework and provides good competition for Millstone. I hope that the both frameworks gain popularity.
Millstone is not designed to be Swing-like. Millstone API has been designed from ground up to easier to learn and use than Swing. Using Swing API directly was one of the options (easy one), but we decided not to follow it and to create API better suited for multiterminal environment and easier to use instead.
The philosophy of Echo and Millstone are quite different from each other: Echo components include their representation (fonts, colors, rollover efect...). In Millstone all the components are representation independent. The representation is given in adapter (and in web adapters case in web adapter theme).
Using rollover (as well as any other visual efects) in Millstone applications is specified with styles: Just do button.setStyle("rollover") and define "rollover" style as you wish in CSS. If you are just using (extending) the default theme you can do this by adding.button-rollover class definition. You can freely add any CSS style specifications (fonts, colors, layouting, backgrounds,...). If you want to do more advanced things (DHTML animations, popups, scripted client side logic, sound,...) you can easily add new button template for your style in theme XSL.
To summarize: in Echo it is easier to turn on limited roll-over effects by the programmer. In Millstone theme designer (not necessarily the programmer) can freely add any visual effects supported by the browsers.
Base Library does not depend on cookies, but the Web Adapter uses cookies for session support. Adding support for URL re-encoding to avoid cookies might be added in future.
In fact the name was meant to describe a stable core that is spinning inside the mill (Millstone was targeted to be internal tool in the beginning). Anyway - blame me, as I was the one who came up with that name...
There is an extensive features demonstration online, where the UI components can be tested and configured on fly. This is the fastest way to get a good overview of Millstone capabilities.
The approach we are using is to separate both language and style from the content by putting all the text into database and building object oriented set of libraries which automatically select ui-style and language using sessions.
example: $page = new Page() # New page object is initialized; user, language and style are identified $page->title('7652'); # Title phrase number 7652 is printed on users language and style to page object $page->paragraph('7898'); # Chunk of text is printed $page->showpage(); # Page is shown to user in selected style
The phrase-table is then indexed by phrase-numbers and languages and modification dates are kept up-to-date for all the phrases. All the content on the pages can be modified on the fly by using online-editors, which gives translators and content creators access to phrase-table. Editors also make the phrase numbering totally transparent. The phrase table is distributed to multiple development machines and synchronized over CVS using special synchronization tools. The approach is very fast on Apache+DB2+Linux+embPerl platform, but caching into static perl-hashes in Apache-registry is also possible to make it even faster.
You can go to our site (Europes first and only virtual hospital providing healthcare on the net) Atuline.COM to try it out. Go to demo and inside the virtual hospital try to change language and user interface look'n'feel from settings/interface. Currently only 5 languages / 3 looks are supported but there is more to come..
Problem: It seems that everyone is talking about 3D support, while I consider that Xv support in the 4.0 might be as revolutionary as the hw 3D drivers. While DVD is making headlines, not even the MPEG1/VCD is supported properly; and the reason is the lack of basic-level support for hardware assisted motion video viewing.
Questions: As I understand, the 4.0 offers X video (Xv) extension support, which basically provides API for the hardware video scaling (with interpolation), overlaying and colorspace conversions. Does the Xv API also allow the support of iDCT and motion compensation hardware found in the newest video cards (which could be used to dramatically reduce DVDs CPU requirements) ? And what Xv:s relation to video input / output devices (both integrated and external) ? Is the Xv extension support currently implemented in any hardware drivers (I think G400 has some support, but whats the state of it ?) ? Is there any video-playing software/video libraries available, which support the Xv in the 4.0 ?
Media-screen is a laptop-sized device, with integrated GSM, and it is more like a portable TV than a phone. It will not run programs designed for 9110 and I would guess that future communicator-type products from nokia use EPOC32 anyway (not GEOS as 9110 or Linux as mediascreen). Anyway, Mediascreen is very nice device and hopefully much of the software will be opensourced. You (in the states) also have a model of old communicator (9000-series) available there. I had one, but got tired of nokias policy not to support Linux-connectivity.
If you are interested to do your graduate studies in Europe, you should check out Turku centre for computer science in Finland. Everything is in English (of course as 50% of the students come frm outside Finland). You can get full financial support for the studies and living costs. I have been doing research in wavelet image compression there for one year and can fully recommend the school. If you have any questions, please feel free to contact me.
Re:When will they learn?
on
Linux 2.2.10
·
· Score: 1
Stability greatly depends on hardware: I have had 2.1.126 running for some 220 days now on SMP P2 machine with SCSI and ATA software RAIDs and 512M memory. (Ok, that is not 2.2.x, but as close to it as it's possible with this uptime;)). Based on that, I would call this kernel stable, on _this_ hardware configuration.
Re:How about PDA+Mobile Phone+MP3 Player?
on
PDA+MP3 Player
·
· Score: 1
No it haven't but someone reverse engineered the FIR-chip in Libretto 100CT.
Some music streams seem to work, but for example, these example animations do not. They only say "Some components are not available to provide playback of this presentation on your system". So it seems that only limited set of codecs is supported !?!?
This study seems to say that apache+linux can deliver 2291 static pages/sec on PII350 and iis 4.0 + NT4SP4 only about 17% of that amount.
Porting yes, delivering ? - remember IE4 for Linux
on
MS Office for Linux
·
· Score: 1
Yes, they are probably porting it and the applications division wants to deliver it, but as it obviously eats NT sales, the operating system division is probably not too happy about it. This is exacly what happened to IE4 for Linux. They did port it to Linux (I am not sure if they actually finished the port), but they never released the thing.
If you want to experiment with completely GPL:d image compression algorithm, you can download my GWIC (GNU Wavelet Image Codec) image compression algorithm. It is certainly alpha quality and the compression performance is not of highest state of art (but neither is WI:) ). In fact the compression performance should be somewhat comparable to WI.
I have not done any development for GWIC lately, because of the lack of interest, but have already almost ready to use new version of it, if someone is interested in integrating it to some other program. GiMP anyone ?
It is quite easy to add progressivity (in fact the format already supports it, but I have not implemented probressive decompressor), regional focusing (in fact I have already implemented that some years ago in another compression system) or alpha channels. Also I have implemented distortion limiting to the compression (not integrated into GWIC yet), which allows the user to specify the exact quality of the image, not only the quantization or target image size
All the critique of HTTP/HTML UI is probably correct. HTML is not designed for UI and any continuous event based widget set probably can be used to create better and more responsive UI than possible with transactional HTML/HTTP model.
Millstone is not anyhow limited to HTTP/HTML - the support for continuous events based terminals is being added in the future. Still the reality in many applications, where the number of users is large, is that installing anything (including JVM) to client side is unacceptable. Millstone resolves this problem by providing extensive and easy to program UI library that can offer the best of the both world.
First a disclaimer: I am one of the head developers of Millstone and CEO of the company behind it.
I see that the difference in the nunber of features between Echo and Millstone is huge -- in favour of Millstone. I think that this can be most easily demonstrated by just going through Millstone feature online demo (also available for download) and Echo Test application. Some of the most obvious differences are: extensive data binding, server side events, tree component and xsl-theme support.
Still Echo is very nice framework and provides good competition for Millstone. I hope that the both frameworks gain popularity.
Fully agreed.
Millstone is not designed to be Swing-like. Millstone API has been designed from ground up to easier to learn and use than Swing. Using Swing API directly was one of the options (easy one), but we decided not to follow it and to create API better suited for multiterminal environment and easier to use instead.
The philosophy of Echo and Millstone are quite different from each other: Echo components include their representation (fonts, colors, rollover efect...). In Millstone all the components are representation independent. The representation is given in adapter (and in web adapters case in web adapter theme).
Using rollover (as well as any other visual efects) in Millstone applications is specified with styles: Just do button.setStyle("rollover") and define "rollover" style as you wish in CSS. If you are just using (extending) the default theme you can do this by adding .button-rollover class definition. You can freely add any CSS style specifications (fonts, colors, layouting, backgrounds, ...). If you want to do more advanced things (DHTML animations, popups, scripted client side logic, sound, ...) you can easily add new button template for your style in theme XSL.
To summarize: in Echo it is easier to turn on limited roll-over effects by the programmer. In Millstone theme designer (not necessarily the programmer) can freely add any visual effects supported by the browsers.
Base Library does not depend on cookies, but the Web Adapter uses cookies for session support. Adding support for URL re-encoding to avoid cookies might be added in future.
In fact the name was meant to describe a stable core that is spinning inside the mill (Millstone was targeted to be internal tool in the beginning). Anyway - blame me, as I was the one who came up with that name...
There is an extensive features demonstration online, where the UI components can be tested and configured on fly. This is the fastest way to get a good overview of Millstone capabilities.
The approach we are using is to separate both language and style from the content by putting all the text into database and building object oriented set of libraries which automatically select ui-style and language using sessions.
example:
$page = new Page() # New page object is initialized; user, language and style are identified
$page->title('7652'); # Title phrase number 7652 is printed on users language and style to page object
$page->paragraph('7898'); # Chunk of text is printed
$page->showpage(); # Page is shown to user in selected style
The phrase-table is then indexed by phrase-numbers and languages and modification dates are kept up-to-date for all the phrases. All the content on the pages can be modified on the fly by using online-editors, which gives translators and content creators access to phrase-table. Editors also make the phrase numbering totally transparent. The phrase table is distributed to multiple development machines and synchronized over CVS using special synchronization tools. The approach is very fast on Apache+DB2+Linux+embPerl platform, but caching into static perl-hashes in Apache-registry is also possible to make it even faster.
You can go to our site (Europes first and only virtual hospital providing healthcare on the net) Atuline.COM to try it out. Go to demo and inside the virtual hospital try to change language and user interface look'n'feel from settings/interface. Currently only 5 languages / 3 looks are supported but there is more to come..
-- Joonas
Problem:
It seems that everyone is talking about 3D support, while I consider that Xv support in the 4.0 might be as revolutionary as the hw 3D drivers. While DVD is making headlines, not even the MPEG1/VCD is supported properly; and the reason is the lack of basic-level support for hardware assisted motion video viewing.
Questions:
As I understand, the 4.0 offers X video (Xv) extension support, which basically provides API for the hardware video scaling (with interpolation), overlaying and colorspace conversions. Does the Xv API also allow the support of iDCT and motion compensation hardware found in the newest video cards (which could be used to dramatically reduce DVDs CPU requirements) ? And what Xv:s relation to video input / output devices (both integrated and external) ? Is the Xv extension support currently implemented in any hardware drivers (I think G400 has some support, but whats the state of it ?) ? Is there any video-playing software/video libraries available, which support the Xv in the 4.0 ?
BTW: Benefon IO have had Tetris for some time now. (www.benefon.com)
Media-screen is a laptop-sized device, with integrated GSM, and it is more like a portable TV than a phone. It will not run programs designed for 9110 and I would guess that future communicator-type products from nokia use EPOC32 anyway (not GEOS as 9110 or Linux as mediascreen). Anyway, Mediascreen is very nice device and hopefully much of the software will be opensourced. You (in the states) also have a model of old communicator (9000-series) available there. I had one, but got tired of nokias policy not to support Linux-connectivity.
If you are interested to do your graduate studies in Europe, you should check out Turku centre for computer science in Finland. Everything is in English (of course as 50% of the students come frm outside Finland). You can get full financial support for the studies and living costs. I have been doing research in wavelet image compression there for one year and can fully recommend the school. If you have any questions, please feel free to contact me.
Stability greatly depends on hardware: I have had 2.1.126 running for some 220 days now on SMP P2 machine with SCSI and ATA software RAIDs and 512M memory. (Ok, that is not 2.2.x, but as close to it as it's possible with this uptime ;)). Based on that, I would call this kernel stable, on _this_ hardware configuration.
No it haven't but someone reverse engineered the FIR-chip in Libretto 100CT.
Some music streams seem to work, but for example, these example animations do not. They only say "Some components are not available to provide playback of this presentation on your system". So it seems that only limited set of codecs is supported !?!?
This study seems to say that apache+linux can deliver 2291 static pages/sec on PII350 and iis 4.0 + NT4SP4 only about 17% of that amount.
Yes, they are probably porting it and the applications division wants to deliver it, but as it obviously eats NT sales, the operating system division is probably not too happy about it. This is exacly what happened to IE4 for Linux. They did port it to Linux (I am not sure if they actually finished the port), but they never released the thing.
If you want to experiment with completely GPL:d image compression algorithm, you can download my GWIC (GNU Wavelet Image Codec) image compression algorithm. It is certainly alpha quality and the compression performance is not of highest state of art (but neither is WI :) ). In fact the compression performance should be somewhat comparable to WI.
I have not done any development for GWIC lately, because of the lack of interest, but have already almost ready to use new version of it, if someone is interested in integrating it to some other program. GiMP anyone ?
It is quite easy to add progressivity (in fact the format already supports it, but I have not implemented probressive decompressor), regional focusing (in fact I have already implemented that some years ago in another compression system) or alpha channels. Also I have implemented distortion limiting to the compression (not integrated into GWIC yet), which allows the user to specify the exact quality of the image, not only the quantization or target image size