3D content is getting exciting

on 23 March 2017

I’ve been dipping into various bits of 3D over the past couple of months:

  • Compositing models into videos for How a Car Works using Adobe After Effects and the Element3D plugin (super fast renders).
  • Playing with the HTC Vive VR headset
  • Relearning and modeling extensively with Blender
  • And now I’m exploring A-Frame which is a javascript library that lets you create VR experiences in the browser.

A couple of years ago I made some simple 3D content for How a Car Works and it was sluggish on any desktop, and unusable on a mobile device. Now I’m looking at a scene which is highly responsive on an iPhone 7 - and likely to get more so.

I’m not sure that VR headsets are going to be anything but a fad, but I think that 3D content is going to be widespread on the web shortly.

Szimpla and the fire exits

on 26 February 2017

Szimpla is the most famous bar in Budapest and listed as one of the world’s best bars. I estimate that it has a capacity of around 3,000 and has made the owners extremely wealthy. It also has absolutely no emergency exits - just a single front entrance. It would be closed within hours if it operated in the UK. But here in Budapest any rule, even the most basic safety ones, can be ignored for those with connections, power or money.

There have been a couple of incidents that I can recall over the past years where occupants of unsafe venues have been killed due to poor fire safety: 64 dead in Romania which caused huge protests at the corruption that enabled that nightclub to operate, and 33 dead in Oakland, CA. You’d think someone would have noticed that Budapest’s most famous bar doesn’t actually have a single emergency exit.

Thoughts on VR

on 26 February 2017

I knew the internet would be monumental in 1996 but it would be ten years before I began making money from a website.

I thought mobile apps would make serious money in around 2008, and it took me six years before I had an app in the App Store.

Whatever excuses I had for such tardiness (being 13, having no money), they certainly don’t exist now. So I’m exploring VR and I feel like I’ve only just missed out on being an early adopter for this one!

I’ve had an HTC Vive for around a week and I’ve probably used it for around 2 hours total so this will be my very first thoughts.

The past

I have minimal experience with VR. At a GDC in San Francisco in 2014 I donned an Occulus Rift headset, sat on a swivel chair, and rode in a spaceship. It was underwhelming.

But I’ve been aware of VR for a long time, and it’s always felt like vapourware. There were photos of headsets that look exactly the same as the Vive in computer magazines of the 90s, and maybe even earlier. I remember in around 1999 there was a development of new apartments in my hometown and instead of a showhome they had a portacabin which offered virtual reality tours. I can only imagine how bad they were.

That’s where we were, here’s where we are:

The essentials

A headset alone is not enough. At the minimum, VR needs to be room scale (meaning that you can walk around a small area of a room, duck, dive and even jump). It also needs controllers in both hands. A controller in one hand is not sufficient for an immersive experience. When I’ve tried with a single controller I find myself trying to do things with my untracked arm. The Vive ticks all these boxes and I have to say - the experience is definitely immersive, and way beyond simply wearing a TV screen on your face.

Sight and sound

I’m amazed at how far sight and sound can go to immersing us in an environment. With current VR, we feel no wind, no temperature change, no motion feedback like acceleration or altered gravitational pull. But in spite of that it’s definitely good enough. When it comes to action, Haptic feedback in the controllers adds enormously. And it’s incredible how much of a role Stereo sound plays in VR considering it was basically feature complete in the 1930’s.

Video

While simulations and 3D graphics work great on the Vive, real world things like video footage of photographs look terrible. We’re already used to seeing these in more detail than the headset is capable of producing. Although you can look around, it doesn’t feel at all real (to me at least). When each eye is seeing 4k levels of detail then this will be amazing, but for now we’re not there yet.

For video the parallels are clear with early CGI movies like Toy Story and Finding Nemo. For example, there’s a VR experience called [The Blu] which is visually spectacular - you spend five minutes standing under the sea while sea creatures pass you by. The reason it works is the same reason why Finding Nemo worked in the early days of feature CGI - underwater scenes are easier to model in 3D (no fur, innate blurriness, slower motion, clear backdrops), and also we’re not familiar with them so our brains don’t tell us “that’s not how coral moves, this is fake.” A similar experience that takes VR players on safari would not work because the technology doesn’t have the ability to create realistic grass or fur in real time. It will do eventually, but I think we’re minimum five years away from that. The subjects of early CGI movies were chosen to match the technology of the time, and that will clearly be the same with VR experiences.

And specifically… VR Porn

I’ve seen a lot of discussion about how VR porn will be huge. But for me it did nothing. Porn is an odd form of video and in VR it suffers badly from the general problems of video mentioned above. It doesn’t feel like you’re present, but nor does it feel like you’re watching porn. I’m sure there will be devotees of VR porn, just the same as there are people rolling around their bedroom with an inflatable doll, but I don’t see it as in any way game changing for that industry.

Games

It’s very clear from the games that are available that VR is the domain of the indie developer and we’re still exploring things like interface design. When the iphone came out, developers spent years trying to get to grips with how to control a device without buttons. Early attempts at onscreen joysticks, tilting the device to steer and so on. In the end, the games adapted to the controller, and not the other way around. Successful games like Flappy Bird, Temple Run etc were built around tapping the screen, and sometimes swiping. We’re still at the early stages of this process with VR. Games where you hold a gun and shoot things work pretty well, and pushing buttons also works well - but picking up objects feels a bit disjointed.

Moving around

Room scale gives you an area of around 2m x 3m to walk around. But exploring a world bigger than this area is an unsolved problem. Some games have you point the controller and a spot and click a button to ‘teleport’ around to cover a wider area. This isn’t a good experience, and is useless for any fast action - you definitely would want to be running from an enemy like this. What tends to happen is that you walk to the edge of your playspace, want to go further, so you teleport forwards a few metres, but in real life your nose is still at the end of your play area. So you have to walk back to the centre, and THEN teleport forwards.

The other mechanic for this that is better is to fly around using a controller as a jetpack or similar. But in this case there’s a disjoint between holding a jetpack to fly yourself around space, and being able to walk left a bit - the two don’t marry up.

The two solutions that work well are to either limit your VR world to the size of your play area - which is find for point and shooters. Or to solve it in the way that Hover Junkers does: You are standing on a vehicle the size of your play area, and you can drive this vehicle around using a remote control. This provides the best of both worlds, but it’s only really suited to a fairly narrow field of games - that said, look how far the ‘tap’ for action games on iOS have gone… Flappy Bird, Crossy Road, Tap tap revenge, etc.

Social

VR is not a social gaming activity. Trying it for the first time with friends is fun, and the best fun for me is watching other people play with it. But if you actually want to play a game for more than five minutes then it’s a solitary activity and there’s no point in your friends even being in the same room. This was surprising to me, because I’d always seen VR in the setting of a conference, exhibition or demo. When you have one in your home you realise that it is an immersive experience and you can’t see or hear anyone else in the same room.

Summary

VR is still very much the domain of the enthusiast or the early adopter. The technology is at the stage where applications that are a natural fit are now usable, and sometimes good. But this is a narrow range of stuff at the moment: first person shooting games where the player is either static, or static on a vehicle, and immersive experiences in environments that suit CGI rendering. There are still no big-name games but there will be. I think there’s the same opportunity for indie developers to produce breakout brands and franchises like Candy Crushem’ or Angry Birds. And unlike mobile, these games can justify a pretty high per-unit price: getting the Vive up and running requires a minimum outlay of around $2,500, and a commitment to rearrange your living room - paying $15-30 for a game in this context is completely realistic. I’m also happy to see that so far there’s been no ‘in-app purchase’ bullshit. Steam and Valve are going to be huge beneficiaries of VR.

Wires need to be eliminated. Ideally to the point where you can just have a headset on a coffee table, and the hardware is in another room. But at the same time, the screen resolution needs to double - which means yet more bandwidth is needed. On the positive, the motion tracking is basically done now - it works perfectly.

Overall, I think if you have the money and you’re curious about the future then it’s going to be money well spent - especially if you want to explore development, or to make investments in this space (both financially, or in career terms). I feel like I’ve recouped the cost of the headset in satisfaction just from watching other people play with it.

And finally… the Hardware

First - you’ve got to buy or build a high-end PC. That’s a pretty fucking high barrier before we’ve even got started. But let’s assume you’re a PC gamer anyway, or you just buy a pre-built PC. And the number of people who want a gaming rig dominating a corner of their living room is pretty low compared to those who are happy to have a PS4 sitting on a shelf.

To get the Vive working I had to drill holes in my walls and run power cables from nearby sockets. The system needs three mains outlets. The headset alone has a USB, an HDMI and a power connector. I once had a wonderful relationship with a girl, but our love floundered in the face of my collection of USB, ethernet and assorted jack to phone cables. Any decor but the most industrial is going to take an aesthetic hit from this system. When I was unboxing this kit there was a sense that I’m wiring up some Matrix-like alternative world. I liked that, but for the mass market, the headset needs to go wireless.

Wall sensors

I’m not sure how these work but I can feel something spinning inside them. There is no power switch on them, so the only way to turn them off is to unplug them. And I assume since there’s moving parts, that they should be powered down when not in use. The instructions for the Vive are not good enough. Things like this are not mentioned at all.

The wall sensors are comparable to a surround-sound system. Although there are only two of them and they need to be placed in diagonal opposing corners of the room, above head height. This means they are in a prominent position, and not symmetrical. It’s not a good receipt for interior design success.

The controllers

There are two handheld controllers and I think their design is a big success. The PS2 controller, in my mind, is the best controller of all time, but its foundation was laid by the PS1 controller’s form. I think Sony smashed it with this first design and I have a feeling that the Vive might have done something similar. My only criticism is that there are buttons which are intended for your thumb but I find these hard to reach.

The headset

Basically:

  • The screen resolution is the absolute minimum necessary. There’s lots of room for improved resolution here. It’s good enough for simulation but videos look pathetic on it compared to looking at a 4K monitor.
  • The wire that follows you around the room needs to be eliminated as soon as possible. It really breaks the illusion when it gets caught up or you have to spend two minutes untwisting it.
  • There are no instructions whatsoever for how to focus the headset. I wondered if mine was faulty because it was very blurry around the edges and my googling took me to this Reddit post which I’m sure every single Vive owner has now read. (Answer: There are grey focus rings on either side of the headset, you can pull these out and twist them to move the screen further or closer to your eyes. There’s also a little knob underneath the headset which does something with eye spacing but so far it didn’t seem to make any difference for me.) But HTC have dropped the ball on this - they need a ‘Calibrate your headset’ section of the setup process - if only to assure people that this is how its supposed to look.

I love what I do

on 20 April 2016

I’m a developer. I write code that does things. I also have to do a lot of design. Sometimes I’m designing visual items - like icons, logos and buttons. But I spend most of my thinking time not on the way things look, but on the way things should work.

This morning I’m exploring how to store a sentence and its translation in a data structure that a computer program can understand. I have the same sentence in English and French:

There is no easy road. Il n'y a pas de route facile.

What I need is to represent the connections between these words. For example,

There is no => Il n'y a pas de
easy        => facile
road        => route

But you’ll see that the word order is different - it’s route facile or road easy. So what I need to do is to represent the idea that these chunks of a sentence, or tokens to use the linguistic term I’ve just learned, are reordered in a whole sentence.

I think what we’ll end up with is a piece of data like this:

sentence = { tokens: [ { id: 1, english: 'There is no', french: 'Il n'y a pas de', }, { id: 2, english: 'easy', french: 'facile', }, { id: 3, english: 'road', french: 'route', } ], english_structure: [1,2,3], french_structure: [1,3,2], }

This might work, and it might not. So I’ll start with this idea and explore it for a while. I’m sure I’ll come up against problems - off the top of my head I can see trouble with punctuation like commas and full stops. I can also immediately foresee problems with verbs that are wrapped:

``` He doesn’t like it. Il ne l’aime pas.

Il => He ne l’aime pas => (he) doesn’t like it. ```

That’s not ideal. We really want to subdivide this sentence so that it is explained more clearly:

Il => He ne ... pas => doesn't aime => he likes le => it

So more thought is definitely needed!

I really enjoy the variety of things that I work on. Last week I developed a system to convert animated GIFs into video files. This past weekend I wrote a quick program to extract the most recently restaurants from Foursquare in my home city. All these things are like little puzzles that teach me something new along the way. It’s wonderful.

"Two years in Bitcoin" by a mildly interested outsider

"Two years in Bitcoin" by a mildly interested outsider

on 6 April 2016

Two years ago I sold exactly One Bitcoin at a newly installed Bitcoin ATM in Mountain View. There was some excitement: This was the first day of operation for Silicon Valley’s first Bitcoin ATM, I was the first person to sell a coin and the owner was sitting anxiously to see how his newly acquired contraption worked out. A local TV crew had just rolled up. The high spirits were only tempered by the BTC price tumbling from $1,200 over the prior two months.

I flew to Europe the next day and put my $500 proceeds in a box. I forgot all about it until last week, when I grabbed it on my way to the airport bound for Miami. I just bought a coffee with the last banknote from this little haul, and it got me thinking about what’s happened in Bitcoin over the past two years from the perspective of a mildly interested outsider. (I still hold a small amount of Bitcoin.)

I should say that although I understand the basic concepts behind Bitcoin, I don’t spend any time following the community or really diving into the technology. So this article isn’t an attempt at a technical guide - it’s more a summary of what has stuck in my mind from the previous two years. I don’t write it with any real objective other than being able to look back at it in another two years.

The Bitcoin ATM I used was removed and the company that made it stopped production. Robocoin, which made the machine that I used, received a lot of criticism over its service and products, and stopped manufacturing the ATMs. The process of me selling a bitcoin took around 30 minutes. I had to scan my face, my palm, and my passport, and then wait for all these to be processed. It was the least anonymous transaction I’ve ever done. This ATM was removed around 8 months ago and since then I’ve not seen any other machines where you can sell bitcoins for cash, but I have seen many where you can buy bitcoins.

The price of bitcoin dropped, recovered a bit and then stablized. From its December 2013 peak of $1,100, the price spent just over a year falling, bottoming at $200 in January 2015. From there it’s been a year of slow, but reasonably steady, rises to today’s price of $426.

The volume of transactions might risen have reasonably steadily. I’m not sure how much trust can be put in figures like these because an increasing number of transactions probably occur off the blockchain at exchanges like Coinbase.

Mt. Gox collapsed taking $450million and remains still unsolved. In February 2014, as I was scanning my hand at the Robocoin kiosk, Mt. Gox was in the midst of collapsing. Around $450million of Bitcoin went missing - and is still unrecovered. The CEO, Mark Karpeles, time has been charged with embezzlement in relation to using $2.6million of company funds for his own personal projects. The media seems to be largely disinterested now, although the liquidation process of Mt. Gox continues. I can’t find any information on whether Mark Karpeles is in jail, on bail, or acquitted. From the technical analysis I saw it did seem he was strongly suspected of having taken the money.

Ross Ulbricht was sentenced to life without parole for running Silk Road. Many other dark markets have sprung up to replace it, but none have the public notoriety/branding that Silk Road enjoyed at its peak. Two years ago Ulbricht’s $80m Silk Road fortune must have looked tempting to any would be marketeers - not so much today (within the reach of the US legal system in any case.)

CryptoLocker brought ransomware into the mainstream, and was closed down. Early 2014 saw mainstream media coverage of a computer virus which encrypted victims hard drives and then demanded payment of a ransom in Bitcoin for recovery of the user’s data. It seemed a runaway train at the time with estimates of $30million in proceeeds before globally co-ordinated action seized its command infrastructure. Clones of Cryptolocker targeting computers and phones have continue to appear since that time. Bitcoin is remains the currency of choice for payments.

Bitcoin killers have failed to kill Bitcoin. Alternative currencies which have spun up to tackle some of the perceived shortcomings in Bitcoin haven’t really gained much traction, although some have accrued high market caps. My feeling is that much of this is made up of people diversifying their Bitcoin holdings in the hope of another 1000x return like Bitcoin saw in its earliest days.

There is some kerfuffle about the size of the blockchain. I don’t really fully understand this situation but Bitcoin is going to hit a limit on transactions and there are two competing camps of developers for how to solve it. This is apparently going to result in the Bitcoin protocol being changed, but last I heard it was nothing to worry about and the hubbub has died down. I’m not sure this is because it’s solved, was never an issue, or no-one cares.

Satoshi Nakamoto remains totally unidentified. A bumbling Newsweek article outed retired programmer Dorian Nakamoto, who turned out to have absolutely nothing to do with Bitcoin. More recently Wired has embarrassed itself with the article “Bitcoin’s Creator Satoshi Nakamoto Is Probably This Unknown Australian Genius” wherein they identified Colin Wright, an Australian ‘businessman’. Mr Wright’s background turned out to be largely self-fabricated bullshit, probably with the aim of securing some sort of tax rebate on investment in a (probably) fictional supercomputer. Other than that, we’re no further along in knowing who created Bitcoin than we were two years ago.

Stripe started accepting Bitcoin payments. This was actually quite exciting for me. I enabled it on How a Car Works but then Stripe changed their rules and I could only accept Bitcoin if I had a US bank account, which I don’t. So I went back to credit or debit card only. I can only assume it’s a tiny, tiny part of Stripe’s business because if it was in any way meaningful I would expect some announcement of number of transactions, or attempt to scale it out beyond the US. Neither has happened to my knowledge.

Mainstream adoption has stagnated. I don’t see usage of Bitcoin increasing at any level at the moment. Buying and selling Bitcoin for fiat currency remains an absolutely enormous pain in the ass. I think this stagnation is because many of the proposed advantages of Bitcoin are just not being borne out:

  • Buying and selling Bitcoin is far from anonymous. Any exchange requires a copy of your ID and linking to your bank account or debit card.
  • Transacting in Bitcoin is quite trackable.
  • Fees to exchange fiat currency are higher than credit cards, and money transfer services like Western Union. The ID requirements are more onerous.
  • It’s future is unclear so as store of value it has significant risks.
  • The promise of the underlying Blockchain is an even more complicated concept than that of Bitcoin itself. I can’t even get my head around what many businesses in this space are doing.
  • The novelty and excitement have worn off. I feel like the evangelists are basically done.

I’m not sure where this even leaves us. Now that the world has tasted a decentralized, digital currency there is always going to be a demand for one - whether it’s Bitcoin or something else doesn’t really matter. I traded some BTC for Ethereum a few weeks ago in case it turns out to be huge. I’ll probably some Monero for the same reason. I’ve no idea of the practical uses of either - I’ll just be speculating because it’s easier to do that than the sell my remaining BTC for fiat.

On the other hand, Bitcoin is the undisputed gold standard of the digital currency world. New entrants are valued with reference to Bitcoin, and they have an easier launch because they can be acquired using bitcoin without the need for complex fiat exchange gateways.

And over the past four months the BTC price has remained fairly stable.

But I’ll stick to something I tweeted quite a while back, and note that in the past few months there’s been renewed interest in giant airships.

Newer posts Older posts