I don't often say "wow", but this is just amazing. And I was actually struggling this week to get the appropriate css transforms together for some simple 3d effects on a website of mine -- this will make things a TON easier.
edit: ah, just saw that not all major browsers are supported, which makes it less useful in an immediate sense for me. But still an awesome little product that shows what's possible in a web browser (and hopefully all web browsers soon).
edit edit: Would you mind discussing what it would take to make it work in other browsers? Is it not possible, or were there just too many browser-specific prefixes/workarounds required to make it a worthwhile effort for this initial version?
In theory every browsers that support the CSS property "transform-style: preserve-3d;" can run the app.
But in practice it's not that simple, for example Firefox has some serious performance issues with 3D, and the overall experience using the app was really bad.
I built the app with cross browsers in mind, so it will be really easy for me to expand the list of supported browsers in the future (hopefully).
The app is using CSS transforms and it looks like it should work on all browsers since the styles are there for all browsers. I'm guessing the app isn't entirely complete for all browsers, which is why it is refusing to load on Firefox but you can look at the source code and search for the relevant CSS for the other browsers that you want to support, if they need prefixing that is.
While it's possible, the output reminds me of code/application generators of the past. That (hopefully) means that as technology progresses, we'll get better abstractions. And then the cycle will repeat itself. :)
Thanks!
Actually I wasn't sure people will understand all the ideas I have put in this animation. But you have perfectly described what I wanted to tell, I'm impressed!
Seriously, it's just ridiculous. There is no legitimate reason whatsoever to make hard browser whitelist like that in 2013 -- without button like "use anyway" or something. It hard-blocks even the new Opera, while the new Opera uses the same exactly engine as Chrome. And you can't just simply spoof user agent in old-school way, no, it uses client-side detection, so you should make GreaseMonkey script just to run the app. On the other hand it doesn't warn Chrome users with HW-acceleration disabled, and just breaks. It's IE6 story all over again.
Also I wanted to say...I hate how backend developers front end developers. You are proof that front end devs are no joke and we can do impressive work!
At the rate of repeating what everyone else has said, this is truly impressive. Initial loading was a bit choppy and slow on Safari 6.1 on 10.8.4, but after that it was smooth.
It's projects like this that reinforce my belief that A: browser plugins must die and never come back and B: "web apps" will ultimately become as powerful as (and replace) desktop apps.
A: Browser plugins did this 15 years ago on computers that were orders of magnitude slower. Doing this all in the DOM with CSS has a redonkulous overhead.
Whats even worse is that browsers have become these monolithic silo projects that only three or four companies on the planet can develop. They have become much more complex than the actual operating system. I still remember the days when a browser was mainly a layout engine, and all fancy stuff was deferred to plugins. If only we had safe sandboxing technology back then...
B: The benefit of web apps are that you just go to an URL, no installation required. And you get "sync" for free. That's about it.
The downsides are:
- They are slower (or require faster computers) because of added overhead.
- They run in the browser window (although that can actually be nice! I'd like to have native apps in tabs like in my browser sometimes)
- Making them work offline is hard. You have to put all the business logic in JS, and can't rely on the server.
- Accessing local files is hard
- Communication between apps is hard, to impossible. *
In the end you are back to mainframe computing like in the 70s, but with 3D effects.
-----
*) One of the biggest reasons why Windows was so successful in the enterprise? COM and Automation. You could just slap an Excel spreadsheet onto your VB application, manipulate a Corel draw file from your MFC application, create database applications basically via drag and drop, and so on. There were (are) hundreds of shops selling custom components from shiny buttons to complete business report generators. And of course you could control almost every enterprise app with a little .js or .vbs script. Sure, all that stuff was ugly, unglamourous, and buggy, but it got the work done.
With the plethora of webGL, canvas, css3d apps out there, the exceptional feature of this app is the user experience and interface. Every click feels intuitive and snappy and if I want to complete an action, it feels seamless. Nice job, seriously keep up the good work.
Hard to say, it was a side project I did in my spare time. All I know is that I started working on it 4 months ago, and spend my whole summer vacations working on it.
I'm sure you'll have no problem finding a job now. Great work!
Small thought - when you're moving an object, wouldn't it be logical to also allow for small step moves with the arrows?Now it will move the camera position.
This is really amazing... however we had something like that 15 years ago called VRML, and it probably was 1000 times faster. This is an incredible abuse of css, nevertheless very cool.
edit: ah, just saw that not all major browsers are supported, which makes it less useful in an immediate sense for me. But still an awesome little product that shows what's possible in a web browser (and hopefully all web browsers soon).
edit edit: Would you mind discussing what it would take to make it work in other browsers? Is it not possible, or were there just too many browser-specific prefixes/workarounds required to make it a worthwhile effort for this initial version?