Author Archive

Project Bluestreak. Dead on arrival?

Tuesday, November 24th, 2009

I should apologize. I went for a dramatic title, to make it sound interesting. If you’re reading this it probably worked. Is Autodesk’s latest project dead on arrival? I certainly hope not, but before I’ll tell you what I think about it let me give you a quick screenshot tour of the project and I’ll show you what to expect if you’re considering giving Project Bluestreak a try.

Let’s start from the beginning. Project Bluestreak was announced last week through the Autodesk Labs blog. As you can see in project’s overview, Autodesk defines Project Bluestreak as:

“Autodesk Project Bluestreak is a web-based collaboration environment for accelerating building information modeling through the open exchange of design information and ideas between desktop applications, web-based services and people.”

When I read that I immediately thought: “Wow! Must be something like Google Wave or Novell Pulse, but with more emphasis on engineering oriented workflow.” Boy, did I set myself up for a disappointment… but I shouldn’t get ahead of myself. Let’s have a look what it’s all about before making any judgement.

The first screenshot shows the home page on which you land after logging in. That page is divided into a few areas. At the top you have a sort of menu bar which appears consistently throughout all pages. Just below that you have some space where you can type a message to “share something with your contacts”. The length of that message is limited to 150 characters. Clearly, this is supposed to mimic a  Twitter or Facebook status. Next to it is the “Messages” window, which doesn’t seem to be used at all at the moment and just below it is a window with all your contacts. The main part of the home page is occupied by the “Activity Stream”. This is simply an area which displays activity notifications from all your contacts and groups that you belong to. Think of it as an equivalent of the Facebook wall.

Bluestreak home page

Next up is the profile page. You can reach it by clicking on any name, including you own if you want to see your profile. It will show you this person’s name, contact details, their contacts (even if they are not your contacts) and finally this person’s activity stream. Again, something pretty close to Facebook profile.

Bluestreak profile page

Now let’s have a look at the groups functionality. Clicking on “My Groups” link from the Groups menu at the top will take you to the page listing all groups that you belong to – ones that you have created and ones that you have joined. There is also a link which allows you to create a new group.

Bluestreak groups page

When you click a group’s name you are transfered to this group’s individual page where you can see some more information about it and perform some tasks related to it. As you would expect after seeing previous pages, you can see the activity stream related to this group and a list of group members. Similarly to your own home page, the group page also allows you to “share information with the group” by means of a short message. This time however this message’s length is limited to 250 characters. A message posted here will show up in the group’s activity stream but not in your personal activity stream, which absolutely makes sense – only members of that group should be able to see what you have posted here. Other members of that group can also comment on your messages. Finally, there’s something new that we haven’t seen on any of previous pages – the “File Sharing” window. This allows users to add files to the group to share them with other members.

Bluestreak group page

If you click the maximize button in the top right corner of “File Sharing” window you will be taken to file sharing page which allows for some basic operations on files (adding and deleting at the moment). Group members can also comment on files, which in a collaborative environment makes a lot of sense.

Bluestreak group files page

Clicking the “Personal Files” link takes takes us to our personal file store. Unfortunately, as you can see in the image below I wasn’t able to add any files to it, but at this stage that’s not something we should be concerned about.

Bluestreak file sharing personal

“Contacts” from the top menu takes you to the contact manager which apart from showing the list of your existing contacts, allows you to invite new users and search existing Bluestreak users.

Bluestreak contacts page

The last element of the top menu is “Applications” and that’s where I think the future of that project lies. Let’s start with the “My Applications”. Here you can see what applications you have “installed” for your account and by clicking the little pencil button you can select for which groups this application should be active.

Bluestreak my applications page

Clicking “Find more applications” link will take you to the last but, in my opinion the most important page of this project. This is where the user can find and “install” applications which will provide additional functionality to the project. First Autodesk need to create some good core applications and then it wouldn’t hurt to open up an API allowing for 3rd party applications.

Bluestreak Find applicatrions page

Finally, if you click the “Feedback” tab on the right edge of you screen, you’ll be able to share you thoughts about the project with the team and other users. If you decide to take Project Bluestreak for a spin I also encourage you to head over here, have a look what other people thought and share your experience. The feedback you provide will certainly help to shape the project and get it as close as possible to your needs.

Bluestreak feedback page

OK, so now it’s time for some comments and my own subjective opinions. At this point I should probably mention that this is my own personal view and opinions expressed here are not those of my employer.

Let’s start with what I think is good about this project. First of all it’s great to see Autodesk trying to do something in this area. I strongly believe that BIM/CAD/CAM/CAE users could use a good collaboration tool closely tied to the software they use all day, every day. Something that could mimic Autodesk’s own, ridiculously overpriced Buzzsaw service – providing the same level of control and confidence in security but also offering some social features that we got used to with Facebook, Twitter, LinkedIn or Plaxo.
The next thing that I find quite positive is that Project Bluestreak is based on open standards and technologies like OpenID and OpenSocial. The only thing that spoils this picture are Flash buttons used in a couple of places (i.e. “Add Files” button in the file sharing application), but that should be relatively easy to get rid of. I’m quite happy to report that all the screenshots have been taken from Google Chrome browser running in Linux. It would be nice if this project marked a general shift for the whole Autodesk towards transparency and open standards.
On the technical side side, I think there is one very cool thing worth mentioning. The fact that you can decide which application is active for which group. This should give the group administrator ability to only provide functionality essential for a given team without causing confusion and distraction by things that will not be useful.

Now, a bit about what I don’t like. The biggest problem I have with this project is the fact that at this point it lacks any industry specific vision and functionality. There are dozens of generic, non-CAD oriented services that offer more functionality and a much more polished experience. Yes, I know, this project has just started and it will only improve but even for an early preview it doesn’t really offer enough to allow you make up your mind about it. It feels like a bunch of random ideas pulled from other social services and put together without a clear vision of how it is supposed to be useful for an engineer or a draftsperson. It certainly is a good framework to build on but it will need much more functionality before users can figure out how to integrate it with their existing work environment.
Next thing that I’m not very keen of is that Project Bluestreak tries too hard to be “social”. First of all I don’t like the fact that all my contacts can see my contact list. In a professional environment, there may be situations where I don’t want everyone to know who I cooperate with. Just like I don’t want everyone in my email address book to know who else is there. It’s not a networking website, like LinkedIn, that can be used for finding interesting “contacts”. It should be a working environment streamlined to make your work easier and life less stressful. On a related note, I’d like to see “Teams” or “Projects” rather than “Groups”. Just a minor wording issue that makes it clear where you are.
One thing that is pretty clear is that Autodesk didn’t make a big commitment to this project. When you look at where Novell has gotten with their Pulse product without even asking users for feedback, you can see that they are building something that is destined to get to the market. There are probably dozens of people working on Novell Pulse for a year or more and when users get their hands on it they will be able to benefit from using it from day one. With Project Bluestreak you get the feeling that it’s the work of just a few people that was slapped together in a few months. Autodesk will probably have no problems shutting the whole thing down if it doesn’t gain enough interest. Well, it will not gain interest if it’s not useful. Remember? “If you build it, he will come.”

So, overall, am I impressed? Well, no… not really. Two years ago – maybe, but not today. Not after using Google Wave since July and seeing Novell Pulse demo at the beginning of November. Not after getting used to how innovative (Inventor Fusion) and visually polished (Project Cooper) Autodesk Labs projects are. In my opinion, if Autodesk wants this project too succeed they need to commit some serious resources to it. Possibly even go back to the drawing board and work out a clear vision of how to integrate all the latest collaboration technologies with their other product. Make the project future proof by embracing new, emerging technologies (like the Wave Federation Protocol) instead of following in footsteps of social projects that have been around for a few years. Finally, Autodesk – be a bit smarter about it. Talk to Novell, talk to Google – they specialize in collaboration tools. Use their experience, buy their expertise if necessary. Spice it up with what you have learned from Buzzsaw and Vault products and you’ll get something useful to every engineer, architect or draftsperson using BIM/CAx software every day.

Links:
Project Bluestreak announcement: http://labs.blogs.com/its_alive_in_the_lab/2009/11/project-bluestreak-now-available.html
Project Bluestreak page at Autdesk Labs: http://labs.autodesk.com/technologies/bluestreak/
Project Bluestreak website: http://bluestreak.autodesk.com/
Project Bluestreak interview with Mark Evans: http://www.youtube.com/watch?v=yJ85_7s_JO4
Googel Wave website: http://wave.google.com/
Google Wave demo: http://www.youtube.com/watch?v=v_UyVmITiYQ
Wave Federation Protocol: http://www.waveprotocol.org/
Novell Pulse press release: http://www.novell.com/news/press/novell-unveils-real-time-collaboration-platform-for-the-enterprise-and-demonstrates-google-wave-interoperability-1/
Novell Pulse website: http://www.novell.com/products/pulse/
Novell Pulse demo: http://www.novell.com/media/media.php?media=novell-pulse
Inventor Fusion at Autodesk Labs: http://labs.autodesk.com/technologies/fusion/
Project Cooper at Autodesk Labs: http://labs.autodesk.com/technologies/cooper/

World’s first F# web browser runs on Linux using Gtk and WebKit

Saturday, July 11th, 2009

After a long break I finally managed to do some programming for fun. This time I decided to see what WebKit has to offer and at the same time create the world’s first browser written in F#. I whipped it up in a couple of hours and the the whole experience was highly enjoyable, thanks to F#’s succinct syntax and WebKit’s and Gtk#’s easy APIs. In fact it got me so positively wound up that I’ve put shampoo on my toothbrush and then I didn’t remember if I washed my hair already. The only thing missing was MonoDevelop with full F# support, but that I guess, will happen sooner or later. I would also love to see MS finally release F# under Ms-PL so that I could use it for something actually useful. Anyway, here’s a screenshot:

Compiled binary is here, but good luck getting it to run. Source code it here.
If you decide to run it, I would recommend doing that on Ubuntu Karmic (9.10 alfa 2). When I run that on 9.04 it crashes and I think that an older version of WebKit is responsible for that.

Best comic stip ever…

Thursday, July 9th, 2009

Let’s dedicate it to the anti-Mono crowd…

Wulffmorgenthaler.com

Tasks in Gmail

Thursday, December 11th, 2008

More fun with Gtk# and Cairo in F#

Wednesday, December 3rd, 2008

This time it has taken me more than I planned but I finally have something to show off.

As usual the compiled exe here and the full code here.

This week I have really struggled to figure out how to mix functional and imperative concpets. After a few days of trying to recursively build an F# list I gave up and resorted to using a ResizeArray<> which is simply an equivalent of C# List<>. I really wonder if a bit more “functional” way of building a list is possible.

Another F# sunday

Sunday, November 23rd, 2008

So, another weekend, another F# excercise. This time I decided have some fun with Cairo inside Gtk# and a port of the old Knockout example from C# seemed like a prefect idea. Here’s what I got:

Compiled executable here, code here. Now, what I’ve done was pretty much a simple “translation” to get it running but I would love to make the code really functional. So, go headed and comment on what I could change to do it.


Another embarrassing udpate: fixed indentation


Update 2: indentation is broken by Wordpress editor. Code replaced with a link.

Playing with F#

Sunday, November 16th, 2008

This little pretty window:

is a result of this tiny bit of F# code:

#light

open System
open Gtk

Application.Init()

let window = new Gtk.Window(“F# Gtk”)
let vBox = new Gtk.VBox()
let closeButton = new Gtk.Button()
let label = new Gtk.Label(“Hello World!”)

window.WindowPosition < – Gtk.WindowPosition.Center
window.SetDefaultSize(160, 40)
window.Destroyed.Add(fun _ -> Application.Quit() )

closeButton.Label < – “Close”
closeButton.Clicked.Add(fun _ -> Application.Quit() )

vBox.BorderWidth < – (uint32) 6
vBox.PackStart(label, false, false, (uint32) 6)
vBox.PackStart(closeButton, false, false, (uint32) 6)

window.Add(vBox)
window.ShowAll()

//brown paperbag update: I’ve missed this line during Copy/Paste
Application.Run()

Next step is piece of code that actually does something semi-useful. I’m thinking about implementing a convex hull algorithm which F# seems pretty well suited for.

Sleepy…

Tuesday, November 4th, 2008

…all the time. Here’s the reason:


Happy baby, originally uploaded by piotr zurek.

Back to work… on Psycho

Friday, May 2nd, 2008

A few weeks ago I have noticed a lot of traffic on the Psycho website. A quick look at referring sites showed me that it’s all coming from the Gnome page of Google Summer of Code ideas. Some kind soul has mentioned Psycho in the mind mapping proposal. Turns out that increased traffic on my website was the only positive outcome of that proposal. For some reason it was not picked us as SoC project. That was one of the things that made me decide to seriously get back to work on Psycho. It’s haunting me all the time anyway so I can just as well put the constant thinking about it to a good use and get into a usable state. As a part of that resolution I have decided to spend at least an hour a day hacking. We’ll see how that goes. The important thing is that I have also decided to rewrite the whole thing, although rewrite is probably not the best word here. It would mean that something valuable was already written… :-) Anyway, I’m starting from scratch and that should provide me with some additional motivation as I have a lot of new ideas that I’m going to be very eager to try.

  • Complete separation of data and its visual presentation.
    Last time round the main object (Topic) was based on Gtk.Widget which didn’t really make a lot of sense. Even though it was using the MVC framework the data was still tightly coupled with the with. That will change and thanks to that it should be possible to write different frontends, not necessairly based on Gtk.
  • Mind map widget as a separate Gtk# library.
    The first reason for that is the same as above but there are some additional benefits. I’ll try to make that library usable for others so maybe someone will be able to use it in some other projects. A mind map is an amazing way of visualizing all sorts of data so someone may find it useful. Beside it I was inspired by the amazing work that Aaron Bockover has done on his ListView widget and Banshee in general.
  • Using MonoDevelop and Linux as primary development environment.
    I decided that it’s time to put my money… er… my freedom, where my mouth is. I’m complaining about being stuck on Windows all the time and still I’m choosing to use it when nobody forces me to. Of course the biggest factor here is the amazing progress happening in MonoDevelop which actually makes it possible.
  • Using Git for local source code management.
    Well, just being trendy here… I’m using Git-svn to communicate with the Google Code SVN repository. I’m actually playing with it so much that most of my commits have around 2 lines. It’s better to commit too often than not often enough, right?
  • Supporting Mono.Addins right from the start.
    That’s just something that I’m considering right now. It would be cool to enable other people to easily enhance Psycho’s functionality, but first I need learn how to do it. I guess it should be easier if I start doing that right from the start of the rewrite.

OK, so as you can see I have a lot of plans and I certainly didn’t abandon the project. As usual, some help would be nice. I have a lot of questions and doubts that someone experienced could easily answer. Without those answers I’m wasting a lot of time and I get very frustrated sometimes not being able to progress as fast as I would like to. So, if you were going to mentor a project for Google SoC but it wasn’t accepted, I could really use your help. Especially if you know a thing or two about Gtk(#) and cairo. Please.

Happy 2008

Monday, December 31st, 2007


Happy 2008
Originally uploaded by piotr zurek.

Note to self:
Remember, it’s never so bad that it can’t get any worse… :-)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes