Opencroquet 380
zymano writes "OSnews has some information about Opencroquet, a 3d operating system worked on by Alan Kay, who also is one of the inventors of Smalltalk, one of the fathers of object oriented programming, conceiver of the laptop computer, inventor of much of the modern windowing GUI. The OS is a 3D environment running through the Squeak environment on top of another operating system. It requires a supported 3D accelerator. Squeak is an interpreted language similar to Smalltalk. Could be ssslooooww. Way cool screenshot."
Assuming it unusable quite soon... (Score:5, Informative)
Croquet had the working name of Tea until recently. You will see many references to Tea in the system, in the code, and even in this document. Just
assume that when you see Tea, we mean Croquet.
Croquet was built to answer a simple question. If we were to create a new operating system and user interface knowing what we know today, how far
could we go. What kinds of decisions would we make that we might have been unable to even consider 20 or 30 years ago, when the current set of
operating systems were first created.
The landscape of possibilities has evolved tremendously in the last few years. Without a doubt, we can consider Moore's law and the Internet as the two
primary forces that are colliding like tectonic plates to create an enormous mountain range of possibilities. Since every existing OS was created when the
world around it was still quite flat, they were not designed to truly take advantage of the heights that we are now able to scale.
What is perhaps most remarkable about this particular question is that in answering it, we find that we are revisiting much of the work that was done in
the early sixties and seventies that ultimately led to the current successful architectures. One could say that that in reality, this question was asked long
ago, and the strength of the answer has successfully carried us for a quarter century. On the other hand, the current environments are really just the thin
veneer over what even long ago were seriously outmoded approaches to development and design. Most of the really good fundamental ideas that people
had were left on the cutting room floor.
That isn't to say that they thought of everything either. A great deal has happened in the last few decades that allows for some fundamentally new
approaches that could not have been considered at the time.
We are making a number of assumptions:
Hardware is fast - really fast, but other than for booting Windows or playing Quake no one cares - nor can they really use it. We want to take advantage
of this power curve to enable a richer experience.
3D Graphics hardware is really, really fast and getting much faster. This is great for games, but we would like to unlock the potential of this technology to
enhance the entire user experience.
Late bound languages have experienced a renaissance in both functionality and performance. Extreme late-bound systems like LISP and Smalltalk have
often been criticized as being too slow for many applications, especially those with stringent real-time demands. This is simply no longer the case, and as
Croquet demonstrates, world-class performance is quite achievable on these platforms.
Communication has become a central part of the computing experience, but it is still done through the narrowest of pipes, via email or letting someone
know that they have just been converted into chunks in Quake. We want to create a true collaboration environment, where the computer is not just a
world unto itself, but a meeting place for many people where ideas can be expressed, explored, and transferred.
Code is just another media type, and should be just as portable between systems. Late binding and component architectures allow for a valuable
encapsulation of behaviors that can be dynamically shared and exchanged.
The system should act as a virtual machine on top of any platform. We are not creating just another application that runs on top of Windows, or the
Macintosh - we are creating a Croquet Machine that is highly portable and happens to run bit-identical on Windows, Macintosh, Linux, and ultimately on
its own hardware... anywhere we have a CPU and a graphics processor. Once the virtual machine has been ported, everything else follows; even the
bugs are the same. Most attempts at true multiplatform systems have turned out to be dangerous approximations (cf. Java) rather than the bit-identical
"mathematically guaranteed" ports that are required.
There are no boundaries in the system. We are creating an environment where anything can be created; everything can be modified, all in the 3D world.
There is no separate development environment, no user environment. It is all be the same thing. We can even change and author the worlds in
collaboration with others inside them while they are operating
The existing operating systems are like the castles that were owned by their respective Lords in the Middle Ages. They were the centers of power, a way
to control the population and threaten the competition. Sometimes, a particular Lord would become overpowering, and he would get to declare himself as
King. This was great for the King. And not to bad for the rest of the nobles, but in the end - technology progressed and people started blowing holes in
the sides of the castles. The castles were abandoned. Technology does this.
Mirror (Score:5, Informative)
summary.html [mrhostbot.com]
teapot.jpeg [mrhostbot.com]
Croquet0.1.pdf [mrhostbot.com]
I grabbed the summary text and screenshot as well as the Croquet user manual in anticipation of /. effect.
Thank MrHOSTBOT [mrhostbot.com] for the free bandwidth.
Oh, and people seemed to be labeled "karma whore" just because they post useful (mirror) links, so I guess I'll stick to A.C. in order to please the masses.
Re:Mirror (Score:4, Funny)
Damn elitists!
Re:Mirror (Score:5, Funny)
I can see how this will become. (Score:2, Funny)
That is because the desktop is up with full 3d-acceleration, fog, per pixel lightning, stencil shadows for under the text, realtime ratracer on the taskbar reflecting the desktop at a resolution of 1600x1200.
Oh, okey!
Re:I can see how this will become. (Score:5, Funny)
You kids have it easy, back in my day we called them "mice" and we moved them across mousepads that were uphill in all directions!
well (Score:2, Funny)
ouch.... (Score:5, Funny)
I hope he had good birthing hips... that sounds uncomfortable.
Re:ouch.... (Score:3, Funny)
Re:ouch.... (Score:2, Funny)
p please
c change
m morphine
c capacity
i I
a am dying.
prototype? (Score:2, Interesting)
Since the article is slashdotted, this comment might come out as a RTFA comment, but anyway:
Is the 3D desktop meant to be a proof-of-concepts or a real product? If the system i slow due to this Squeak, perhaps it could be translated into somthing that compiles?
Re:prototype? (Score:5, Informative)
Re:prototype? (Score:5, Informative)
Squeak isn't an interpreted language like Perl or Basic (usually) is. Squeak is compiled, but to bytecode. The bytecode is then JIT-compiled or interpreted. Never is the code itself interpreted.
Re:prototype? (Score:3, Informative)
Compiled (Score:2)
How can an OS be 3D? (Score:2, Insightful)
Re:How can an OS be 3D? (Score:3, Insightful)
Of course, for right now all "3d" operating systems, plugins, demos, etc are being displayed on a 2d screen. So they are merely pretending to be 3d. When we get true 3 dimensional displays/holocubes/whatever, then we'll really have a 3d operating system displayed in 3d.
All of which makes me wonder: did the graphical mac's ever have anything other than a 2d gui interface? Could you put them into a cli mode, sort of what we might think of as a one dimensional os? I remember the old Apple ]['s, I think, that had a cli. I remember playing Oregon Trail on them when I was in elementary school. But I mean the macs that booted right into a gui.
Re:How can an OS be 3D? (Score:5, Insightful)
Um, the command line is a shell. The shell is not the OS, it is a user interface. You know, the "UI" in "GUI."
An operating system has no concept of 2d, 3d, whatever. There is no direct interaction between human and OS. The human interacts with the UI, the UI interacts with the OS, the OS interacts with the hardware. The OS is not a visual thing.
Nifty! (Score:2)
I hope Smalltalk will not be the only language you can use to write programs. I think it's cool, but there's no reason I shouldn't be able to use other programming languages I know.
Re:Nifty! (Score:3, Informative)
I think the idea is to create an OS from Squeak, and opencroquet being the shell.
The language itself is used to do things like open files, if you want.
You can program in assembler, if you can. But you must think in Assembler.
Heres the really intresting stuff (Score:5, Informative)
Squeak / Small Talk Truly Awesome! (Score:2, Interesting)
This stuff is kind of addicting once you get into it, it is very radically different and just a strange concept when thinking about what we're used to.
Squeak is like a living organism of an application. It just sort of evolves as you use it, giving it tons of capabilities and flexibility.
The whole thing is wrapped around really little messages being sent around and everything being just in time / real time.
Definately look up squeak and give it a try.
Bob
(all this praise from a Perl nut even)
Way Cool Screenshot (Score:3, Insightful)
Hmm, the main link was slashdotted, so I tried the OS's website http://www.opencroquet.org [opencroquet.org]. Maybe they should change their main graphic to the "Way Cool screenshot" rather than the Monet looking Croquet game they have going on right now. They might garner a bit more interest.
mirror of screenshot (Score:3, Informative)
It's not too spectacular, if you ask me.
Re:mirror of screenshot (Score:2, Interesting)
Re:mirror of screenshot (Score:5, Interesting)
They even implement the same bad dialogs as in Windows. Notice in the Connect-form, the http:// link is neither wrapped, nor does it elongate the dialog box.
I find it amazing that nobody fixes such stupid GUI things and makes a truly generic GUI.
Re:mirror of screenshot (Score:4, Interesting)
bring in some real artists to work on this and you can do some really nice stuff. think the UI's you saw in the final fantasy movie or minority report.
-Mani
Licensing? (Score:2, Insightful)
I could well be missing something here - read the site and the article though, so at least I made an effort :)
What license is this code being developed under? It's called OPENCroquet, so presumably it's some kind of Open Source, but what flavour? Is it, in fact, Open at all?
I ask cos it looks interesting and I wanna play :)
P
Re:Licensing? (Score:3, Informative)
"... until a better license is written, Croquet is
covered under the current Squeak license."
- Team Croquet
The license allows for modification and redistribution, but has some quirky clauses in it because of it's lineage as proprietary software that owned by Apple.
It's worth noting, that the Smalltalk community since the beginning has always exposed all of it's source and allowed and encouraged users to modify the code and expand the code base. This goes back long before the open software/free software movements took root.
---
Wicket. (Score:3, Funny)
And what happens if two Croquet machines have packet collisions? Which one gets to make the croquet shot?
-S
Re:Wicket. (Score:2)
http://www.croquetamerica.com/gams-rls.asp [croquetamerica.com]
-S
Re:Wicket. (Score:2, Funny)
I want to see it... (Score:3, Funny)
"Way cool screenshot."
That sort of link is red rag to a bull...
Slashdotted already...
it's a stretch (Score:3, Insightful)
OK, I didn't RTFA, but...if it runs on top of another OS, it can't really be called an OS itself, can it? I mean, win95 jokes aside, isn't it just a fancy GUI then?
Re:it's a stretch (Score:4, Informative)
Re:it's a stretch (Score:4, Funny)
No, the usual term for a program which runs on top of an OS but still seems to want to implement all the features of an Os is 'emacs'.
3D OS (Score:2, Insightful)
Couldn't we be spending our time trying to figure out how to make an easier to use, less complex OS? Something that isn't scary to people who have no idea how to use computers. Perhaps then we would see what a computer revolution would be all about.
Or maybe we could spend the time figuring out how to make computers more secure, so people wouldn't be afraid to put private info on it. Thus making it so that people are more likely to use them for everyday purposes.
But, no we decide we want to go 3D.
Makes you think, does the geek community really want computers to be used by everyone? Or do that want something only they themselves can understand?
Don't mod me down because you dissagree, if you disagree make a good argument about it.
Just my humble opinion,
SirLantos
Re:3D OS (Score:5, Insightful)
Re:3D OS (Score:3, Informative)
That's pretty lame reasoning. We're not playing Master of Orion here. You can't turn up a slider on "Security Research" and have everybody focus on this.
2 trends... (Score:2)
Does anyone else get the feeling (Score:4, Insightful)
Like smalltalk. Early 70s, IIRC. The problem of managing increasing software complexity, which object orientation (partly) solved, became significant only much later.
I don't think 3d enviromnents are an idea whose time has come. Slowness is only part of the problem. We really don't have the software infrastructure to scale UI complexity to those levels. Maybe for special applications, but not as a general UI design paradigm.
Certainly futuristic.Re:Does anyone else get the feeling (Score:2)
However, I wonder if the "no boundaries" way of things is still a good idea, given a machine connected to the hostile Internet. I wouldn't want a cracker end up in an "everything can be modified" environment.
Re:Does anyone else get the feeling (Score:4, Insightful)
There are a lot of folks who will arm-wave at the idea of 3D UIs. I've yet to see a 3D UI that a) renders on current 2D screens and b) provides any significant advantage over the 2D concepts of window-stacking, iconification, virtual screens and alpha-channel blending.
Some of these concepts are still in the "time to market" stage (e.g. alpha-channel blending), but given their application, the idea of tracking UI objects in three dimensions (which increases memory usage) isn't really going to buy you much.
Take a look at the screen-shots. Squint. Try to convince yourself that you're looking at a rendered background with several overlapping windows. Now ask yourself: do the addition of perspective and a z-axis for window movement improve the situation, or just add complexity?
A quote from the summary: (Score:2, Interesting)
Does anyone else here read this as 'expanding the software to fill the available space (CPU-cycles & memory bandwidth)'?
Instead of focusing on enabling 'a richer experience' let us focus first on what is wrong with the current 'solutions' we're using and realize that 'doing more with less' is more than just common sense.
Don't tell me you really think that an OS like Win2k/XP or *NIX/*BSD is the 'be all, end all' of running software on a computersystem. Heck, over 10 years we'll simply laugh at those archaic things we're using (including countless hardware devices), much like we look back at using punch cards.
In other words, nothing to see here. Wait until we realize the mistakes we've been making and start from scratch again.
Smalltalk misconceptions (Score:5, Informative)
Re:Smalltalk misconceptions (Score:2)
Write your speed critical inner loops in C/assm, write the rest in SmallTalk, you'd probably end up with a system with perfectly decent performance, with the advantage of being far more stable and maintainable.
Good Show! (Score:2)
Real Estate (Score:5, Interesting)
Until this problem is overcome, either with giant screens, head-mounted displays, or some bizarre gesture-controlled scrolling (like head tilts), I can't see 3D GUIs becoming more than a curiosity because they consume too much 2D screen space without giving enough virtual space back.
You're right (Score:2)
As far as I see it, it's very simple: 2D screen, 2D pointer = 2D interface. That's the best construct as this is hardware-limited.
Likewise, 3D interface = 3D display + 3D pointer. It's no good doing a 2.5D interface.
I keep an avid watch on new interface developments, but I note with some alarm these screenshots that pop up. Alan Kay is a genius, safe to say, as is Jef Raskin. However, having a look at a screenshot for Croquet, or worse, THE, is a distinctly underwhelming sensation. THE in particular looks particularly un-humane. I understand all the theory - it just doesn't seem to pan out on first impressions.
The ideal future interface will be a successful blending of the old-school methods with some radical rethinking. We can't toss things like toolbars just yet, as there is a whole world of commerical apps that will need to be at least a little similar in operation.
Re:You're right (Score:2)
THE [sourceforge.net]
THE screenshot [sourceforge.net]
not slow (Score:5, Informative)
But raw execution speed isn't all that counts. Because Squeak has everything in one address space (unlike Gnome/KDE) and doesn't need to load anything on the fly (unlike Java), it's actually very responsive and uses comparatively little memory.
I don't think Squeak or anything based on it is going to replace mainstream desktops now or in the future. But it is an interesting platform for experimentation. It's also historically interesting because you can see the kinds of environments people already had available in 1980 (Smalltalk-80 is contained in Squeak).
is too slow (Score:3, Informative)
Math: 20x-300x slower than C or Java.
Method calls: 5x slower.
Overall overhead from OO is at least 10x for Smalltalk over C++ (there are a LOT more messages/method calls and almost none are inlined). Also since everything is a 'live' object when people screw up their desktop they have to do the moral equivalent of reinstalling the OS.
Re:not slow (Score:2)
Re:not slow (Score:5, Insightful)
Better in what way? I'm not trying to be argumentative. For all I know, the Squeak VM allows a 486 DX2 at 66 MHz to pump out 3 teraflops on .2 watts and has been shown to cure cancer in lab rats.
"Better" really doesn't say much. You might as well have made up a word or posted in Linear B.
Are you talking about inherent superiority of the VM spec? Is the design simpler? Is the set of opcodes smaller or more orthogonal without sacrificing speed or functionality? Has it supported non-blocking I/O, continuances, higher order functions, and generics/templates from day 1? (Can you tell I'm a Java programmer that hated not getting java.nio.* until Java 1.4? Now for generics and continuances...) Did Dijkstra, Turing, Ken Thompson, Xavier Leroy, Ross Andersen and Linus spend a year in seclusion atop Mount Araraat inside Noah's Ark designing a VM spec that was pretty-printed by the hand of God Almighty on the one remaining wall of Solomon's temple? Is the set of opcodes inherently faster or does it result in more compact binaries? Is the set of opcodes well chosen to be easily implemented on most architectures? Is the size of an int clearly defined in the spec (as I remember, both Perl and Python say "at least 32 bits", which is a horrible spec if you want your code to run the same across architectures)? Does the set of opcodes lend itself to rapid compilation of efficient bytecode from many source language families? Are the bytecode operations and file formats well suited to JITs? Does the VM design not force a single object model on the code? Does the opcode format offer security benefits such as efficient real-time security checks on untrusted code? Are there other ways in which the design is "cleaner", "leaner", or "more efficient".
Are you refering to the design of the curent VM implementation rather than the spec itself? Is the current VM better documented in both English and Tamil? How about clean interfaces or easy extensibility of the VM?
Are you talking about the implementation of the current bytecode engine? Is the source code for the VM well commented in Englsih and Thai? Is the entire VM and libraary set implememted in 5,000 lines of Objective C? Is the current VM available in C, Java, Scheme, Haskel, and Intercal implementations?
I suspect you mostly meant "the current canonical implementation is very fast". The speed of the current VM is much less important than inherent design limitations. If the current VM is 50% as fast as the fastest Perl VM, but is expected to be 25% faster than the fastest JVM in a year, that's much preferable to a 10% speed lead on Perl right now. If you change your VM spec too much or too often, people start jumping ship, but you could completely gut your VM every 2 years and very few people would take notice. You're stuck with your design.
I'd love to hear an analysis of the Squeak VM. I hear about so many well designed VMs that get little mind share while the unwashed masses rave about CLR/Mono without giving good details about why the CLR is inherently cross-language and high performance.
Where's the beef? (Score:2, Flamebait)
Of course the phrase "3d Operating System" is a non-sequitur in the first place. But then again, are they developing an OS at all?
OK, so it's not even remotely an OS - just yet another attempt at a useful 3d GUI which could conceivably one day run on specialized hardware. Just like a lisp machine (except 3d graphics somehow play into it?) Woohoo! You can hack the OS while you write a letter to grandma! No pesky memory protection, no cumbersome file permissions! I'm freeeeee! Hey, stop reading my email!Re:Where's the beef? (Score:4, Informative)
Why isn't a 2D OS enough? (Score:2)
So you can "shrink" windows by increasing the "distance" to them? But you can resize windows already...
So you can layer the windows on top of each other? You can do that already -- with transparency too, if that's preferred...
Why use a 3D OS? Do you actually work faster in it, or what?
Croquet virus would be like... (Score:2)
A window that constantly moving away from you
A window that is always behind you
A spherical window
Makes all your windows bounce off each other in a low gravity environment
Actually, these all sound kind of cool.
Metaphor still broken for breakthrough usability (Score:2)
Could be slow... (Score:2)
Maybe, but bearing in mind we currently have multiple gigahertz computers, most of the 3D graphics is dealt with by hardware, and interpreters are usually at worst only 20x slower (at the very worst), this means that your program will run as slow as machine code did about 4 years ago; but the graphics will go at full speed. I'll think I'll survive.
Also, Java is "interpreted" (actually it's typically a JIT, but it behaves like an interpreter), and that's currently about half the speed of optimised C or there abouts.
Also, check out dynamo [umd.edu], which is a machine code interpreter that interprets the same machine code as the machine it runs on somewhat faster than the microprocessor executes it (atleast about half the time anyway). It actually performs run time optimisation like code rearrangement and stuff, it's very clever.
Anyway, interpreters are not always slow; and they are usually plenty fast enough in practice.
I think quite a lot of FPS games have interpreters in them anyway to run the game code.
Just begging for a Slashdotting... (Score:2)
Google cached image (Score:2, Informative)
He's responsible for all that? (Score:2)
Holy shit, he must be the most hated man in the whole of computing! If I was him I'd be laying low.
Other 3D UIs: references and links. (Score:5, Informative)
Ripped straight off the side bar :
Will 3D user interfaces ever take off? With ever-growing 3D processing capabilities available on standard PC hardware, it seems only natural to pursue UI directions that take advantage of this awesome power. Moreover, the generation of users now emerging has had access to video games for as long as they could remember. As the line between video games and PCs becomes blurrier, the time may have come to think about how to apply 3D visualization techniques for more day-to-day computing tasks.
Here are links to some of the 3DUIs that are available today:
- FSN [sgi.com] (pronounced "fusion") produces a cyberspace rendering of a file system. This was the original 3D file system navigator shown in Jurassic Park [monash.edu.au] ("Hey, this is UNIX. I know this!").
[Screenshot [monash.edu.au]] | [Download [sgi.com]] (IRIX)
- FSV [sourceforge.net] is modelled after FSN, but runs on Linux. FSV lays out files and directories in 3D, geometrically representing the file system hierarchy to allow visual overview and analysis.
[Screenshot [sourceforge.net]] | [Download [tucows.com]] (Linux)
- Xcruise [nooface.com] lets you fly through a filesystem in 3D as if it were interplanetary space. Directories are represented as galaxies, files are represented as planets (whose mass is determined by the file size), and symbolic links are represented as wormholes.
[Screenshot [titech.ac.jp]] | [Download [unixuser.org]] (Linux)
- TDFSB [hgb-leipzig.de] is a 3D filesystem browser for Linux. Take a walk through your filesystem!
[Screenshot [hgb-leipzig.de]] | [Download [hgb-leipzig.de]] (Linux)
- Visual File System [nooface.com] is a 3D file system visualizer for Windows. The tool scans a drive selected by the user, and then models the contents of the drive in 3D, based on the directories that are selected in a tree browser on the side of the display.
[Screenshot [manann.tng.de]] | [Download [manann.tng.de]] (Windows)
- 3Dtop [nooface.com] is an extension for Windows that represents desktop icons in 3D, letting you to fly around your desktop. You can create coloured spotlights, background and floor textures, "paintings" (bitmaps), clocks, and "flags" that represent shortcuts.
[Screenshot [3dtop.com]] | [Download [3dtop.com]] (Windows)
- ROOMS [nooface.com] turns a Windows desktop into a 3D world. You can see the world either through a first person perspective or with a map view, and you can populate the world with sounds, animated images, and 3D icons.
[Screenshot [rooms3d.com]] | [Download [rooms3d.com]] (Windows)
- CubicEye [2ce.com] organizes windows into a navigable cube. Cubes can be arranged by thematic or functional subject matter, and can be explored either individually or collectively as part of a more comprehensive structure of multiple cubes representing various areas of interest.
[Screenshot [2ce.com]] | [Download [2ce.com]] (Windows)
- Vizible WorldViewer [vizible.com] distributes windows across the exterior and interior surfaces of spheres, providing the means to visualize and navigate large numbers of web pages and data sources simultaneously.
[Screenshot [vizible.com]]
Tried it (Score:2, Informative)
Radio interview with Alan Kay (Score:2, Informative)
Link [www.sr.se] to real audio clip (click on "Lyssna" and go to the end of the file). The interview is about what he did at Xerox.
Slow? (Score:2)
Good grief, we just don't know what to do with all the cycles we have these days. We really don't. Windows runs at the same speed at 500MHz as it does at 3GHz. The video hardware is doing more work than the processor. Smalltalk being slow is a red herring. There will always be someone, when we have 500GHz processors, saying that all Perl scripts should be rewritten in C to make them faster.
Wow...innovation with a bang (Score:2)
Wrong controls (Score:2)
It does appear that some of the above is being worked on. However, the current space metaphor owes a lot more to, well, wolfenstein than Descent (which offered full, true 3D movement).
One final observation... As the window was built up from the command line, so too is the world space being built up from the window.
I can't wait until this is good enough for Microsoft to steal.
Squeak itself not slow (Score:5, Informative)
Squeak has two different GUI systems which you can use- Morphic and MVC. MVC is the "original WIMP," the first ever GUI system. It has deviated a bit from what came out of Xerox almost 30 years ago, but it has the same API and most of the same source code. It has Mac-like window decorations instead of the BeOS-like tabs now a days. MVC is a lot faster than Morphic for a number of reasons. It is what I will use on the slowest of the machines I use for Squeak (75 MHz). A number of GUI APIs have been modeled after MVC over the years, including Swing (MVC is much faster, don't get me wrong!) and Cocoa AppKit.
Morphic is what most folks use when they are running Squeak. It has a really cool programming model- applications can be built programmatically, with a GUI builder, or by directly manipulating the Morphs (graphical objects). A common example is the Rolodex- you can make on in Squeak without writing a line of code, just drag some Morphs around, make a few menu decisions, and there you go.
Morphic is slower than MVC, but you get what you pay for (computationally!). It is still quite usably fast on a 350 MHz K6-2 (~300 MHz PII), however.
I have not tried Croquet yet. There has been a lot of talk on the Squeak list about it, but in all honesty, 3D worlds aren't really my thing. People have been talking about the 90 MB download- most of that is media. A standard Squeak download is around 10-15 MB for the latest version, including a lot of useful classes and applications. Out-of-box memory footprint is 20 MB or so, but if you trim what you don't need, you can easily end up with a 1-3 MB image and a 2-4 MB memory footprint. This ain't Java, folks.
I am a bit of an oddity, even within the Squeak community. I use Squeak *as* my OS, my computing environment. One could think of it rather like Emacs- a lot of applications [1] are written for it, and it is readily modifiable, so that the environment works like you want it to. Don't like the way Squeak manages windows? Make a couple small changes to a few small methods. I was once a Linux user trying to do just this to my environment, making tweaks to the WM, and it was way more work than it should be. You can imagine how excited I was when I came across Squeak- the entire system is written in Smalltalk, making changes pretty easy, no matter what part of the system they affect.
[1] There are a number of applications written in Squeak. Most new apps are written for Morphic (rather than the older MVC). These apps include: two different forms of handwriting/gesture recognition, a simple web browser, a pretty good email client (although POP only), a couple IRC clients, a bunch of games, an vt100 terminal for use as an xterm or telnet client, all of the programming tools for writing Smalltalk, and more.
Multiple desktop 3D GUI (Score:2)
I'm not sure get the 3D UI completely, but what would make sense to me would be putting the user inside of a many-sided polygon container. Each interior face of the sphere would be a typical desktop. The controls for the GUI would enable zooming out to see multiple faces/desktops simultaneously, as well as the ability to pan over desktops, in addition to being able to "lock" onto a desktop. Windows could be moved between desktops all-at-once, or dragged if you were panned over them.
It would have interesting multimonitor potential, as well -- the monitors could be assigned as geographically adjacent so that they showed adjacent polygonal surfaces/desktops, the polygonal surface could be sized to the combined monitor resolution or the monitors could be 'detatched' so that they showed different views (perhaps one zoomed out, one locked).
I don't think this would be that hard to implement, either (disclaimer: not a developer), since it wouldn't involve changes in the base GUI, just in the way that desktops as a whole are presented and navigated.
User Interface Device (Score:2)
The mouse is a wonderful device for a simple 2D environment, where all I want to do is select objects and move objects horizontally or vertically. Beyond that, it is crap.
Voice recognition might one day get to the point where I rarely use my keyboard, except when in a cubicle environment or when programming.
But I haven't seen the next generation of human interaction devices, and I don't even know exactly what I think they should be. I just know that the mouse will eventually be inadequate. The only truly exciting device I've seen recently was a force-feedback glove that let me select objects (round basket-ball type things) in very, very simple 3D environment.
Information Overload (Score:3, Informative)
I recall reading or seeing on TV once interviews with fighter jet pilots from the Korean War, and they were complaning to the engineers that there were too many audio alerts that were distracting them from doing their job, and could they put an off switch somewhere for those alerts?
I can see the same thing with the interface- how much data do we need to bombard ourselves with? The human mind can only subdivid our attention to so many tasks at once (I think the limit is 4 or 5).
I certainly can see places where moving into the 3rd dimention would help, but I see those as specialized tasks, not writing a letter or reading email.
not necessarily slow (Score:2)
I did have one problem with an inefficiency with Squeak dictionary (i.e., hash table) objects, but that is independent of the compiler. (VisualWorks Smalltalk, BTW, does not have this problem with dictionaries.) Anyway, since the source code to all of Squeak is available inside the Squeak programming environment, individual problems can be fixed.
Squeak is a great open source platform, with a license that lets you use it for just about any purpose. Check out www.squeak.org.
-Mark
Right Direction, Wrong Implementation (Score:2)
Why? Because it slows any kind of navigation to a screeching halt.
Because it doesn't make sense that you will have to "walk around" or "fly" in some fashion inside a 3d space just because you want to open a web browser, open a spreadsheet, or do basically anything with any sort of timeliness.
Sure it's got that cool Minority Report feel. But inside a 17" or 15" screen? Sure we have 19"+, but mainstream America is still using 15"-ers by and large. This is a problem with this "solution."
3D Desktops just are not usable right now. This guy is way ahead of his time. I'll give him that. I respect all of his prior work. And the groundings for this system have to start somewhere.
But until it gets practical, until our desktop expands away from the flatscreen and the CRT (whether it be a wall-projection or cool goggles, who knows), this will be one of those I'm-Running-This-Because-It's-Cool-But-The-Usabil
Remember those early WM's? Take a look at Redhat 5.2 sometime and prepare to cringe.
That's the exact same effect this will bring in about 5 years.
Alternative 3D "platform" + screenshots (Score:2, Interesting)
Innovators (Score:2)
Translation: He's one of the guys who innovates. Not to be confused with one of the mega-corporations that gets rich from his ideas.
I mean, he may make a good living, but he's certainly not in Bill Gates' territory, financially, and yet he is one of the true innovators. Sad.
3d World OS (Score:2)
A 3D navigatable desktop? I thought VRML died for a reason?
OSX? (Score:3, Interesting)
I wonder if we could see usability improvements by using 3d toolbars stacked on top of each other using alpha blending which could be moved by mouse gestures... very cool... Unfortunately, most of the 3d GUIs to date have only decreased usability, and been overly cumbersome.
Bah.... (Score:3, Funny)
-Carter
Re:Flash? (Score:3, Insightful)
<table>
spacer row...
content...
spacer...
Flash is not crap. Just most people using it relegate it to stupid intro movies. It allows the developer to create a completely self contained application, free of the shackles of the HTML dinosaur.
psxndc
Re:Flash? (Score:3, Insightful)
Flash as navigation? It allows you to completely destroy the usability of the site. Middle click to open in a new window? Gone. Right click to select "open in new tab"? Gone. Tab through links? Gone (or possibly there if somebody using flash has a clue, unlikely). Typeahead finding a link? Gone.
The reason people like flash for things like navigation is because they want to reimplement the interface. This is almost certainly a terrible idea from the perspective of most websites, and for most users.
It is also not supported by any search engines, so good luck having your site indexed (unless you provide a fallback, most flash developers don't even know how to do this).
Control is a four-letter word in the mouth of a web author. I don't want you to control my interface. I want to view your site how I wish. All the w3c technologies allow this, why can't flash?
I think you mean <link rel="stylesheet" ...>
Great. But basic navigation through a normal website isn't an application. Even if it was, I'd expect it to work like all my other applications.
Re:Flash? (Score:2, Offtopic)
Flash as navigation? It allows you to completely destroy the usability of the site. Middle click to open in a new window? Gone. Right click to select "open in new tab"? Gone. Tab through links? Gone (or possibly there if somebody using flash has a clue, unlikely). Typeahead finding a link? Gone.
You're right, but for a particular instance. See, I suspect you are a technical person (coder, engineer, or possibly researcher, or all 3. whatever). You spend a great deal of time searching on the web, which is what a lot of people do. You like your standard tools for searching and arranging your information. Flash sites disable many of these tools.
Problem with this is, that Flash site should either A) not exist as a Flash site, or B) you're forcing a site to do what it doesn't want to do.
A Flash site with its own interface is just dandy for certain applications, mostly those having to do with marketing, or presentation, or conceptual visualization. Remember that Flash is just a clever animation, like Director was; it is essentially linear, with stops-and-starts, and GOTOs.
Besides, I would argue that I have found at least as many HTML sites abusing JavaScript and bad design in their navigation as Flash sites. Flash just has the capacity to do more damage. The pwoer of Flash is not a flaw.
When I have a client that tells me they want a specific font, and sound effects, and a 3d spin-around of their new shoe (for example), I say Flash every time. It's the best choice. It's a commerical, a glossy interactive brochure. It can look like any damn thing it wants.
If it was a site for weekend trips, for example, thats a PHP site with little Flash demos that launch in windows. That way you get Flash presentations (what its meant for), with searchable, right-clickable, parsable HTML content in the right framework.
My point is, don't blame the tech, and don't blame Flash for crappy navigation. It has it's place; it belongs in exploratory interfaces, not useful ones. This is of course not to say that exploratory != useful, but in situations where one wants to immerse themselves and casually browse a rich experience with sound, the right fonts, and a generally superior (depending...) experience, Flash is great.
If its something like Slashdot, or the Beeb, or SourceForge (heh, can you imagine?).. not so much.
Oh by the way, indexing is not a problem. And stylesheets, as cool as they are, cannot compete with absolute sub-pixel vector positioning. Not to mention, as a web designer, I have far less problems debugging a Flash site between browsers, as the plug-in is more consistent than the HTML engine.
Re:Flash? (Score:3, Insightful)
Couple of comments,
When I have a client that tells me they want a specific font, and sound effects
Clients ask for these kinds of things all the time. I say:
* You can suggest a specific font, but if it's an unusual font, most people will see one of the more common fonts. Some people will override your font completely because they find another font easier to read. Which "normal" font do you want to use as a fallback? Not to mention the discussion of serif vs sans-serif and so on...
* Sound can be highly irritating for many end-users, especially if they aren't expecting it. Virtually no high-profile business websites use sound, so unless there is a domain-specific reason for having sound, I would recommend against it. If there is a good reason for having sound, I would recommend that it not be activated automatically.
All true. I think we agree that bad sound design and bad font choices are just, well, bad. Flash (unfortunately) enables both good and bad media. The thing I think a lot of engineers decry (not you) about Flash is just that... as in, it can do it, and you can't make annoying sound effects with plain HTML, so Flash is bad, which is odd to me. Like blaming C++ for the fact that it can totally lock up a machine, and BASIC can't.
Also, I do think its a shame more sites don't use sound, it can really enhance any experience. You've always got the option to turn it off (at the speaker if nothing else). As far as fonts, in my experience, those applying their own stylesheets and font settings are pretty rare. They maybe set the point size to 14pt instead of 12, but that's it. Which brings me to another point...
I do have a problem with applying your own stylesheets to other's work. Basically it goes like this: I designed it a specific way, I want it shown that specific way. I've likely fought tooth and nail with the client over certain very specific things, and we have reached a solution visually for these things. To take away those decisions and apply your own arbitrary, un-trained stlyes, while liberating, is a bit wrong. It undermines the work that potentially went into a 'good' design. The only situation I've seen custom user-defined stylesheets work for is blogs; mostly because the bloggers have more or less settled on a unified layout.
I agree, I never said otherwise. But website navigation with flash is usually an abuse of flash - I've certainly never seen an appropriate use of flash in this way.
Okay, well I'll put my money where my mouth is: here is my Flash site. [thoughtbubble.cx] (you'll need the Flash MX plug-in.) It uses its own navigation. You can't use the browser controls, just as you've said. Take a look; maybe it IS an abomination of usability. However, I've never had one complaint about how to use it. It is what I consider a perfectly acceptable sub-navigation for the site. Of course, like I (we both) said earlier, I wouldn't use this for a database of term papers.
Oh by the way, indexing is not a problem.
No, if you provide alternate navigation that isn't flash-based. Most people clueless enough to use flash for navigation are clueless enough to not realise they need to do this. I know of no search engine that parses, or even retrieves, swf files.
Hmm. Not sure to what you're referring; Flash MX can basically mark up (boy does it ever mark up) every last bit of text in your Flash site, in the HTML frame file. And there's robots.txt as well. MX made great strides for usability, which had the side-effect of including a lot more metadata, and therefore exposing a lot more raw functionality, in Flash SWFs. Also note that its a lot harder to program proper navigation in Flash than it is in HTML, not easier; the idea that the 'clueless' are seizing upon Flash for easy website programming is not true. It's like programming everything in JavaScript (ActionScript is almost identical syntactically).
And stylesheets, as cool as they are, cannot compete with absolute sub-pixel vector positioning.
You are merely picking one attribute of flash and claiming that stylesheets cannot compete because of it? Please explain what "absolute sub-pixel vector positioning" means, and why it is useful. Then explain how I can override it in my browser to get the look that I want.
Oooh I could pick on a lot more than that. :)
Flash is all vector-based. The sizes and positions of things in Flash can be specified to a single decimal place of a pixel (i.e. 10.3, 14.9, etc.). This offers advantages for both resolution-independance as well as animation quality. Adobe After Effects, a raster-based animation program, also offers this feature. Think of it as a Nyquist Theorem kind of thing; higher resoltions from the source result in better looking images and motion. Not to mention superior antialiasing of text and vector edges. (Now, if you want to disable it, right-click on a Flash movie and choose anything but 'highest quality', then try and read some text. *shudder*)
Flash graphics are better than the usual hodgepodge of GIFs and JPEGs. They make more sense for the web, and they are much smaller. I can say this because Flash can also incorporate the best raster-based web graphics formats (JPEG, PNG) with its own vectors.
Not to mention, as a web designer, I have far less problems debugging a Flash site between browsers, as the plug-in is more consistent than the HTML engine.
Which plug-in? You know there's more than one, right?
The Flash plug-in. I think there is also a combination Shockwave (Director)/Flash plug-in. They both behave identically on Windows and Mac browsers. That's what I mean. I don't have to debug things in Flash because they 'look right' on one browser and not the other.
Now, don't get me wrong, I basically agree with everything you're saying. It just bugs me when people (not you) blame Flash for being flexible and powerful. They should blame people who suck instead.
Re:Flash? (Score:3, Interesting)
There are some bright sides to Flash. For example, a tremendous portion of all web-related traffic is simply sending text in bitmap form so a site can look "pretty". Then count in all of the very similar redundant images (in javascript rollovers), and then add in "graphically simple" images... that's a lot of traffic. All of this can, and should be replaced by much smaller and more efficient vector art.
So many people see Flash as, if nothing else, an up and coming replacement for GIF/JPG/PNG for many applications. I wish browsers allowed you to treat it more like an image and less like an "object," so it would integrate better in that role and address your right-click woes. Obviously in this role search engines are not affected.
Flash has grown quite a bit over the years; I've had the misfortune to have to do some absurdly large projects with it. It's very attractive if you want to deliver a self-contained web application (like a game) because the penetration is simply second-to-none (+95% for older versions of Flash, and +75% for the newest version, I believe - i.e., it's included in Windows!), it runs on Linux, and if you have to download it, it's ~300k (hence the former point, I think). Now, it's offering a lot of features while staying quite small... I still think its scripting system and API are abyssmal, but if you're up for abuse you can make it do amazing things.
I think it's important to use it in the right places. If you rip out an entire HTML site and replace it with flash just to make it look nicer, you probably didn't consider the tradeoffs. But on the flipside, I sure am glad it's there for times when you want to do something unconventional or impossible using traditional techniques.
Something like Flash could replace HTML eventually. If Flash evolves in the right direction, and we're willing to reconceive its integration with the browser, and really, reconsider aspects of the web altogether (and most of all, if we forget it's proprietary, which is really a deal-killer on its own). This is a funny dream some Flash proponents have. It's not realistic, but I can see why they think it, and I won't be surprised to see some Flash-like things gain importance in the web's evolution.
Re:Flash? (Score:2)
People visit websites for *content* and *information*, not to drool over pixel-accurate navigation bars.
The least they could have done is making a HTML navigation bar for those who don't want/have Flash installed. But they don't even do that.
This is just Flash abuse, period.
Re:Flash? (Score:3, Insightful)
allows for absolute positioning and control
People that tries to have absolute positioning and control on websites will be among the first against the wall when I take over the world.
The whole point about html is that the layout is dynamic, adapting to what is's viewed on. The "this page best viewed at 800x600 with a huge border on 1600x1200 or scoll at the bottom at 640x480" pages are made by amateurs. Possibly former members of the printing industry that can't grasp the consept that they have no control over the size of the screen the site will be presented on
These days it seems that everybody is more interested in making stuff that looks good than in providing content with any value. And they can't understand that what looks good on their monitor might look crap in another resolution. And when they discover it they're too lazy to fix the mistakes and just say "But you're supposed to use foo x bar when you visit the site".
I've finished ranting now, thank's for listening
Re:Flash? (Score:2)
Re:Flash? (Score:3, Insightful)
why are people so opposed to Flash on the net? Are they equally resentful that images have "invaded" their text-only HTML world? My website uses tables ... how evil am *I*?
I mean, if you have a legitimate complaint (crashes your browser) or something, then that's fine, but I'm getting a little sick of people who consistently respond with knee-jerk negativity against anything remotely commercial, regardless of how useful and innovative it may be.
It's 2003. You don't still drive 30 mph in a '55 Chevy, why would you be so resistent to modern browser plugins?
Anyway, personally I'm glad that OS research is finally turning to the 3D realm. It only seems like the next natural progression in computer environments.
Re:Flash? (Score:3, Interesting)
Personally, I just find it annoying and distracting, so, even though I've heard it's now possible to get a plugin for linux/mozilla, I haven't bothered. I have java turned off for the same reason, even though I make a living coding it.
The reason I complain is that (as I mentioned) they make it a requirement, in order to access the site's navigation panel. Even with 77% penetration, that means 23% of visitors will be unable to do anything except stare at the index page (which contains only a meaningless image).
Even when you're using a relatively reliable technology like images in an integral area of the site, it's standard practice to provide an alterative for those who can't or won't see them (hence the "alt" attribute).
Re:Flash? (Score:5, Insightful)
I don't have flash, I cant'navigate.
The fact is you can travel NOW with a Ford T in any street.
Re:Flash? (Score:3, Informative)
Wrong. Some highways in Quebec have a minimum speed limit of 80 km/h (50 mph). The Model T's top speed is 72 km/h (45 mph), ergo, you cannot drive it on some Quebec highways.
Also, even though you could drive it on some modern roads, it would not be without causing headaches to both yourself and other motorists, due to your low speed. Analogously, you can browse that website without Flash, you're just missing out on some of the content. You saw the screenshot, didn't you? (Assuming you got there before it was Slashdotted into oblivion)?
Re:Flash? (Score:2)
I think the idea of a web site is to provide content to the people, if you limit the audiense (don't know haw to say in english) gratis, you are making mistakes.
all I want it's a way to navigate in the site. may be an alternate content (very simple, just the link) for the people who don't have Falsh, or images.
I saw the screenshot from a mirror post in the history.
Re:Flash? (Score:2)
Re:Flash? (Score:2)
Because it's annoying and tedious (oh, yes, I'm sure your flash animation was interesting the first time, by the 23rd it's lost something).
Plus, it adds zero utility to most sites while reducing it for many people.
You don't still drive 30 mph in a '55 Chevy, why would you be so resistent to modern browser plugins?
No, it's CRAP plugins I'm resistant to.
TWW
Re:Flash? (Score:5, Insightful)
Ask the blind.
Re:Flash? (Score:2)
Wow, you really don't understand the first thing about sample sizes do you?
Here's some data, assuming the population of web surfers is 507 million users:
With a sample size of 2000, you can be 95% sure the results are accurate to +-1.84%. You can be 99% sure that the results are accurate to 2.43%.
The fact of the matter is, the required sample size required to get an accurate result does not go up linearly. Probability has proven that population size is mostly irrelevant when it's this large.
And, in response to your statement about Flash denying the content to 23% of the user base, if we don't introduce new technology to the web somehow, nothing will ever evolve. Frankly, I find the idea of giving up on innovation for the sake of compatibility to be asinine. Go ahead and innovate, if your product is good enough, people will become compatible. If not, the fact your product is incompatible with existing technology will cause it to die all the faster.
Re:What you say???? (Score:2, Funny)
What we have here ... (Score:3, Interesting)
Hmmm - I made a new emoticon
Anyways, if I had to vote (and no, they didn't call me to ask my opinion) I would vote to have my actual processes run faster and my UI be uglier, than to have a virtual C.Zeta Jones walking around on the other side of the glass bringing me the files I requested, drop one halfway back from the 'library' and bend over at the waist to pick it up, then lean over when handing them to me to give a good look down her blouse.
Hmmm. Scratch that. How about we get to pick at boot time : CUI interface when we need raw computational power, and the Metaverse / Library UI when we are doing regular work. Maybe be able to start the GUI processing by typing StartX at the command line
Pretty cool idea, combines most of the important things that have been the driving forces behind generations of advancements in software / hardware
Re:crossplatform 3DNA (Score:2)