Special

Special Print Offer

Get the RBD Archive 7 printed book for FREE when you buy an Ultimate Combo printed back issue package! This perfect-bound book is over 300 pages and contains the full year 7 of RBD. Normally this book sells for $50, but with this special offer you not only save 25% off the normal package price, you get the book included for free!

RBD Magazines

Supplies are limited, so take advantage of this offer before it goes away.

Article Preview


Buy Now

Print:
PDF:

Feature

Article

Issue: 3.2 (November/December 2004)
Author Bio: Ben Copsey is the director and sole employee of All-Seeing Interactive (http://www.allseeing-i.com/) and author of Shared Space 2.0 (http://www.shared-space.net/), which won two REALbasic Design Awards this year, "Most Innovative" and "Best Overall."
Article Description: No description available.
Article Length (in bytes): 12,905
Starting Page Number: 11
RBD Number: 3208
Resource File(s): None
Related Web Link(s):

http://www.allseeing-i.com/
http://www.shared-space.net/

Known Limitations: None

Excerpt of article text...

Ben Copsey is the director and sole employee of All-Seeing Interactive (http://www.allseeing-i.com/) and author of Shared Space 2.0 (http://www.shared-space.net/), which won two REALbasic Design Awards this year, "Most Innovative" and "Best Overall." Our readers are curious: who are you and how dare you win two RB Design Awards? I'm 27 years old, and live in London, UK. I have a degree in multimedia. The majority of my work is web design, and the RB stuff has been mostly a hobby until fairly recently. I went to university in Plymouth, which is a small city on the southwest coast of England. The course I took was called "MediaLab Arts." It was a bit of a mix of stuff -- databases and programming, with history of art, design work, etc. How long have you been interested in computers/technology/programming? Ages! I first got to use a computer when I was about 10. I had access to some BBC Master computers. I loved playing Defender and from that age wanted to make games myself. My first experiences of "programming" were at that age; my first language was LOGO. My parents got an 8Mhz 8086 PC a year or so later, and from then on I was completely hooked. Initially I tried to write programs in a version of BASIC called 'Basic2', which was for the GEM desktop environment. (A really bad Mac knockoff, in case you aren't familiar with it.) All my programs were pretty poor since I had no concept of variables or storing state -- they ended up being multiple choice lists of questions. I continued to try to write games on successive computers, but still with almost no success. I didn't know anyone else interested in computers and I didn't have money to buy books on programming languages. Eventually I found a game-making system called "Klick and Play." It was almost all drag-and-drop rather than writing code, but that was really my first experience of making programs that actually did something meaningful. You continued that interest into college? When at college, I was thinking of doing a fine arts degree, as I had done a lot of painting for my art A-level. I was always very interested in drawing and I spent a lot of time playing with DOS graphics software like AutoDesk Animator. The multimedia thing just seemed a really good fit, as it allowed me to keep doing the visual stuff and catered to my continuing obsession with computers. When at university, I really started to understand how programs worked. We used Macromedia Director. For our final projects, the rest of the students and I were trying to do things with Director. My final project was actually the first, pretty basic version of Shared Space. Your background in art and computers sounds a lot like Adrian Ward, whom I interviewed in RBD 2.2. Are you and he friends? I met Ade at university; he introduced me to REALbasic. He wrote a program called "AutoShop," a kind of parody of Photoshop. AutoIllustrator came later. I looked at what he'd done and knew that I needed to stop using Director (which still gives me nightmares). So I bought REALbasic version 2 and that was it! Did you start working on Shared Space right then, or did you begin with other projects? I had a number of smaller projects I dabbled with. The first thing I did was to write an isometric game engine (for some reason I'm still obsessed with isometric graphics) -- too much Ultima as a child. I started what would become SS2 fairly soon after. Ade and some friends were (and still are) involved in doing experimental computer music, playing gigs around London. I used some of the RB programs I'd written, displaying isometric cubes moving around, projected onto the wall. It looked nice in a darkened pub. Did you ever make a game? Yes and no. I'm notoriously bad at finishing things. At one stage a bit later I spent a few months working on a Vampire game, but it never saw the light of day. Ha ha! What other projects did you create? I did a lot of small experiments, almost all with graphics (I loved how RB graphics worked after the pain of Director). Once I got started on SS2, that became my big obsession. At one stage it was going to form the basis of my project for an MA (higher degree). However, I was so busy with my day job at that time that I never really got anywhere with it. Where did the concept of Shared Space come from? I was interested in the future of computer interfaces and in the promise of the Web for sharing information. A friend put me on to "As We May Think," the famous Vannevar Bush article. [Bush is hailed as the conceptual creator of hypertext in his 1945 article, though that term was coined by Ted Nelson in 1967. --Editor] The first version of SS was really an attempt to visualize some of the ideas Bush was talking about in the 40s. As a visual kind of person, I thought it would be cool if the relationship and links between information could be described visually. The whole thing came out of trying to visualize hyperlinks. A lot of the reading I'd been doing about the development of the desktop interface and its various problems led me to think about an environment without borders. I wanted to create an environment where users could organize their information visually rather than having to store it in files and folders. What came out of it is a weird hybrid, somewhere between Visio and the Finder. The idea that people can transparently share their information with others is also a key concept. When I was starting to think about this, there was the whole fuss about P2P, Gnutella, Napster, and so on. I thought a P2P model was perfect for what I was trying to do. My grand plan was to have an application that could replace the browser and the Finder for certain kinds of stuff. Shared Space is unlike anything else out there. Can you explain what it is? In SS2, you work with spaces and views. Each "view" is an (almost) infinite 2D plane on which the user can place notes (a bit like Stickies). Unlike traditional apps, there is no paper-sized workspace. Basically, you can position notes wherever you like and there are no margins. As you create notes, the "overview" changes to reflect everything that's in the view. It's a map of all your information, a bit like the Navigation window in Photoshop that gives you an overview of the whole document. You can move the area of your view that's visible by dragging in the overview. When you have created notes, you can create relationships between them: links. Links are lines between notes that can describe a relationship in one direction (like a Web-based hyperlink) or in two directions. And because everyone has lots of information stored in other applications, you can also drag files from the Finder into SS2. SS2 also supports "version control" for documents you move in, so you could create four versions of the same Microsoft Word document and keep them all together. Notes, links, and documents allow you to organize all your information visually. Spaces are a little like folders for containing views. For example, I might keep a space for each project I'm working on, and inside each space would be many different views for keeping all the thoughts, ideas, and documents I have on different areas of those projects. How would a person use Shared Space? The intention is that how people use SS2, and what they do with it, is left open. I've tried to keep the range of tools available for customizing how you want to organize things, and how you want the information to be presented, as open-ended as possible. Some people I've spoken to have used it for collecting ideas and research for writing. Others have used it a little like a diagramming tool. Once you have all your information in SS2, you can also export it. SS2 allows you to export a bitmap image of your views for use in other applications. You can also export as a multi-page HTML document, with the links between documents and notes created as hyperlinks. All the HTML stuff is template-based, so you can completely customize the output. Is the basic idea for multiple users to share info, or for a single user to organize info? Either, or both. The network sharing aspect was always planned, but didn't actually make it into SS2 until a year or so ago. Again, basically I want to leave it up to users to experiment. Some will use the networking stuff, others will find the app works great as a personal tool. How did you develop Shared Space? SS2 has been in development for at least four years. Progress has been slow, as all that time I've been learning how to program! Also, most of the time I've spent has been evenings and weekends, trying to fit it around my paid work. For the first part of development, SS2 was available for Windows and Mac OS Classic (this was pre-OS X). Nearly two years ago I started my own company and suddenly found I could organize things so that I had more time to spend on it. Up until this point, SS2 was a fairly buggy and actually fairly ugly piece of software. I made the decision to spend a lot more time polishing it with a view to getting somewhere near a final release eventually. Since I was also spending a lot more time on it, I decided to make it shareware. In the most recent release, making SS2 appear as a good OS X citizen was top of the list -- hence Unicode support, Apple Help files, Rendezvous, and more. Why is the current SS2 only for the Mac? Will there also be a PC version in the future? I decided to drop the Windows version, as at that time RB was still rather flaky on Win32 and the Windows builds lagged a fair way behind the Mac in features and stability. I redesigned the whole interface to make it better fit with how software on Apple's new Mac OS X ought to look. Mainly this was a case of sampling everything in the interface and making everything look more "Aqua." Basically, I figured if I was ever going to release a final version (which I still haven't done), I'd need to focus my energies a bit more. I've been a Mac user for about 8 years now and always develop on Mac OS. When I was offering SS2 in Windows flavors, I'd usually spend about 2 months developing a release, and then another trying to get it to work in Windows. So I decided to cut out the Windows version, with a view to coming back to it when I was happy with the Mac one. I keep getting caught up with adding features and improving stuff, so it's taken a lot longer than I expected. However, I do hope to release SS2 for Windows at some point in the future. I think it's a lot more doable now than a couple of years ago, as RB has improved on Windows a lot since then. What development problems did you run into? A lot of problems I had along the way would mirror those of anyone who has been using RB for a few years. I'd spend a long time developing a feature, and REAL Software would implement the same thing built into the language that was a lot better,. Cross platform stuff caused a lot of headaches. (And still does; the software I'm working on now is cross-platform.) I guess my single biggest problem has been how RB deals with compositing. If you're writing a very graphically intensive app, it isn't long before you end up tying yourself in knots over what happens when a Canvas overlaps an EditField, and things like that. In my current project I've moved over to using custom, graphics-based controls for everything. This really helps with keeping things working the same on Windows, Mac, etc. In SS2, the viewable area is one big Canvas. When you edit notes it actually pops up an EditField on top, though you can't really see that it's an EditField. But basically I've loved using RB and can hardly imagine using another tool. What are your favorite things about RB, and what things would you improve if you could? Hmm. My favorite thing about RB is how quickly one can get something working with it -- it's hard to tie down, but the whole thing just seems so easy! My favorite actual feature would probably be RegEx, just because it's useful for just about everything. As for what I could improve... as discussed, compositing in RB can be a real pain, but I think if I could get only one feature tomorrow it would be tracking for drag-and-drop. I can't begin to think of how much nicer all my apps could be with that -- it's only a simple feature, but people take drag-and-drop for granted, and you can't really do it properly in RB. What's next for you? The current application I'm working on is not SS2, but a similar product. It will be cross platform, and I intend to bring a lot of the techniques I've used back into SS2 soon. It's called "Imagination" -- I'm working with some people in the U.S. There isn't any info available to give you just yet, but we are expecting a beta release in a month or so. All I can say is that anyone who likes SS2 will love it.

...End of Excerpt. Please purchase the magazine to read the full article.

Article copyrighted by REALbasic Developer magazine. All rights reserved.


 


|

 


Weblog Commenting and Trackback by HaloScan.com