Camen Design Forum

Hi I'm Kroc Camen--Ask Me Anything

append delete Kroc

Now if I could only pull myself away from the onslaught of work I plan to do some community events to get things moving in the forum, but for now this is an "ask me anything" thread, ala Reddit. (No point doing this on Reddit itself because I'm not well known enough there, or anywhere really)

Ask me anything, and I'll try give a reply. If I don't reply to your particular question, it doesn't constitute an answer either way (like questions that break da rules)

Any topic welcome, not just web-dev alone.

Reply RSS

Replies

append delete #1. Mathias

What do you look like? It looks like there’s not a single photograph of you to be found on the internets.

Related — why don’t you have a Twitter avatar?

Also related — why is there no /about page on this website with some more information about you, and links to other websites where you occasionally write stuff?

I’m guessing you like a certain amount of anonymity.

append delete #2. Joe

Can I see what you look like in real life?

append delete #3. Kroc

@Mathias / @Joe

~~~
Can I see what you look like in real life?
~~~

I keep my personal life and my artistic life on the web separate. What I do in real life has little relevance or purpose on the web and I use the web to consume and to create, rather than to socialise due to the lackadaisical attitude to privacy by companies on the web. I don't feel like a photo of me has any relevance to my site, but if people want to know, so be it: on rare occasions, people have managed to capture photographic evidence of this extremely elusive crocodile: version2.deviantart.com/… (I'm the one in the white shirt with the line across the chest, though my hair is usually much, much longer now)

@Mathias

~~~
Related — why don’t you have a Twitter avatar?
~~~

I love how it annoys people who feel that you *must* fill in such pointless details in profiles. Does it really matter? No. Do people think it matters? Yes. There's the problem. If Twitter profiles asked what your favourite pizza was, I'm sure 90% of users would fill it in.

~~~
Also related — why is there no /about page on this website with some more information about you, and links to other websites where you occasionally write stuff?
~~~

As mentioned at the top of this comment, I don't feel that factoids about my personal self are relevant to my work on the web. More about me can be found in the site as a whole, and not in factsheet form. A huge amount of my personal self is published here, if you care to read and not just skim or skip.

Camen Design was created to centralise where I write, rather than before where it was scattered about. Those other places are dead now, and what's more I don't like promoting brands that will come and go over time. My content outlived MySpace, it'll out live Twitter.

append delete #4. Mathias

~~~
I love how it annoys people who feel that you *must* fill in such pointless details in profiles. Does it really matter? No. Do people think it matters? Yes. There's the problem. If Twitter profiles asked what your favourite pizza was, I'm sure 90% of users would fill it in.
~~~

In the case of Twitter, avatars (be it a portrait photo or a completely different image) are very useful to visually identify who wrote a particular tweet in my timeline. You have a Gravatar — why not just use that as your Twitter avatar as well?
I follow about 200 people; if none of them had an avatar, chances are they would share the same default avatar, and reading my timeline would be a pain.

The hypothetical “favorite pizza” field is something completely different.

TL;DR Adding an avatar makes it easier for your followers to identify you and your tweets. I’d say that does matter.

append delete #5. Kroc

You kind of prove my point by you suddenly feeling the compunction to justify your side. Tweets have user names, don't they, you can read? :) I prefer my content to speak for itself rather than turn myself into some sort of celebrity. Anyway, there's nothing you can do about it, if I don't want an avatar it's up to you how long it takes for you to accept that that's my choice and my choice alone. :P Unfollow me if it's really _that_ much of a problem; but in reality, I expect it's not _that_ much of a problem in the first place, which is why I do it.

I won't be bent to do what others demand just because everybody else does, and it's there and begs for attention. If more people took this stance, privacy on the web would be a lot stronger than it is--just because an option or questions is provided, doesn't mean it needs an answer.

append delete #6. Jose Pedro Arvela

This might sound as a strange question, but one thing I always discuss with people is about certain design features (we are all novice regarding design, but nonetheless, I am slightly interested in it). We sometimes discuss about the role of app consistency with the OS. Some of us consider that consistency between the app and the OS is essential for it to have good design. Yet, others see this part of design as mostly irrelevant, and defend that what is important is for the app to be visually appealing and usable.

What is your opinion on the relevance of consistency between an application and the operating system (regarding design guidelines as well as visual consistency) in the design process of such an application?

Another question: On the letters you are publishing, it is possible to see, as you yourself say, that you once were a very different person and, as far as we know, that something led to the radical change that made you who you are now. What made you realize that you needed to change your way of being, and how did you change them?

append delete #7. Jose Pedro Arvela

On the last line, I meant "change it", assuming it isn't easy to change such a thing very easily, as it is part of a person's core and life.

append delete #8. Kroc

@Jose Pedro Arvela

~~~
What is your opinion on the relevance of consistency between an application and the operating system (regarding design guidelines as well as visual consistency) in the design process of such an application?
~~~

I'm in two minds. "We have to accept that the difference between a website and webapp is zeal and a graphics package".

You can make a website that uses plain text and hyperlinks to get the job done, or you can design toolbars and buttons and M-V-C and it'll still achieve the same end goal.

This does not mean that one method is better than the other.

I covered the implications of these two models in my article Why the OS Matters: camendesign.com/… This probably answers your question more completely than I can here.

Don't believe the hype. "Apps" may be super popular, but just as AOL and Compuserve before, this walled-garden approach is the wrong way, and it will take five years before the world realises this.

Lots of sandboxed apps running in a big sandbox with none able to communicate with each other is a dead-end model. With so many single-purpose apps, what happens when you want to take the results of one app, and put it through another app? The web is best engineered to do this, but native apps are not.

WebApps merge the best of both. The app experience with the interconnectedness of the web.

"The future of the browser wars is he who integrates with the OS best".

Consistency with the OS should be the OSes responsibility and HTML is perfectly designed for this. If I specify a <input type=file> then the OS can present this--and all functionality--in a way that befits the OS and the file system hierarchy, rather than this having to be coded in by the app developer.

I don't believe that the web developers should shoulder the responsibility of matching the OS--and maintaining it when OSes keep changing. Only HTML offers the potential to achieve this, but with all the hype over native apps, this potential is not being explored.

~~~
What made you realize that you needed to change your way of being, and how did you change it?
~~~

It's hard to say. It's not one thing, it's a collection of things. Some of these will be revealed in the remaining letters to be published, they take a new kind of direction from #7 onwards. Suffice to say, four years of mental illness brought on by stress, disillusion, inexperience and an inability to fit into the way this world really works brought me to my absolute lowest--the only way was up.

I do not recall what, precisely it was that inspired me to start again with my website. My previous attempt had failed and I had been too ill to invest so much time and effort into a project I had no faith could be completed. Perhaps it was that itself, but In that instant of inspiration I changed my viewpoint around and decided to code a website in absolute minimal code, rather than a big complex and all-encompassing mess as I had done before. I went from one day coding like a Microsoftie to coding like an artist. I started working on the new Camen Design about January 2008, so it's not been that long that I've had this new outlook on programming.

append delete #9. _Joe

It could be just me but you look like George Hotz.

I guess there is a need for most people to put a face to the person they look up or listen to (I am still very curious to learn the real faces behind gorillaz for example)

append delete #10. SpeedoJoe

I was kind of hoping Kroc would be the skinny, crazy metalhead. :)

append delete #11. Dan Zollman

I agree with Kroc's statement that the sandboxed model is a dead-end model, but for a bigger reason: Unlike computers, our lives are not divided into categories of tasks by our daily activities. Our need for technology, then, is not divided into categories. So why should we have to interact with technology in terms of a sandboxed structure?

Anyway, here's my question: for you, what's the "meaning" of life?

(Of course, "the meaning of life" is the wrong phrase, and I mean something like where is the meaning IN life, what purpose is found in life, etc.)

append delete #12. Kroc

The meaning of life is quite simple to know, harder to actually do.

It's: Love your neighbour as yourself. Love your enemy. Love God with your whole heart, soul and mind.

append delete #13. JJ

Web dev question: Why do you use PHP? I use it because it's readily available almost anywhere and seems like the most portable serverside language, ...but it seems kind of messy overall. Also, what's your biggest annoyance in PHP?

append delete #14. Kroc

@JJ:

~~~
Why do you use PHP?
~~~

I started out with ASP when I was all Microsoft based, but then switched to PHP due to Apache/PHP being preinstalled and ready to roll on the MacMini as well as being readily available on cheap shared-hosting plans. It was simply practicality more than anything. I still think this is the case. I don't believe the RoR hype at all and I think the future will be serverside JS simply because of the inescapable practicality of JS being (currently) the only programming language available in all browsers. Coding in two different languages in order to serve browser-content is a waste of effort.

~~~
what's your biggest annoyance in PHP?
~~~

There's an infinite list of niggles with PHP, as with any programming language, I think.

But the fundamental failure with PHP, and not just a frilly issue, is that the PHP developers keep trying to make PHP into an object-orientated language.

It isn't. PHP was born a procedural language and its native types are procedural and any attempt to bolt OO onto PHP is a failure evident by the effect it has by using it.

When I started learning PHP I tried solving things with classes, like a good little programmer should. The net result was tons and tons of code spread across lots of files in a way that is almost impossible to follow the flow, and because the native types are not OO, it meant lots of code to munge one thing into another, or hundreds of temporary variables to instantiate objects.

Using OO in PHP creates a mess that solves the problem in the longest winded and most convoluted way. When you code PHP procedurally, how it was designed, it's compact, readable, focused and efficient. You use less files, the code reads more linearly (top to bottom) and you waste a lot less time. Just look at ReMarkable and imagine doing that in PHP OO style. It would be 3'000 lines long and hundreds of functions. As it is, ReMarkable is just 1 (one!) function.

That is not to say that OO programming is bad, it's not. I can code either way, but that I believe that when you try to make a programming language something that it invariably is not, then it fails.

If PHP embraced its procedural nature and fixed a lot of the niggles (array sort functions don't return the array) then it could be truly great.

append delete #15. JJ

~~~
I think the future will be serverside JS
~~~

I was considering this as well, given the advent of node.js and whatnot. I wonder what serverside development will look like in 10 years. I'm kind of excited about this because I do think JS is a rather beautiful language.

~~~
But the fundamental failure with PHP, and not just a frilly issue, is that the PHP developers keep trying to make PHP into an object-orientated language.
~~~

Interesting you should say that: one of the main reasons I think it's "messy" is because it seems like the OOP aspect was added to PHP almost as an afterthought. It seems very contrived, but in a lot of cases I'll find the OOP aspect useful, however, I do agree with you for the most part: I took a peek at the wordpress source once and it's one of those things you wish you could unsee. I don't know who would have the nerve to take the time to decipher that garbled mess of shit. I remember having to reference 3 or 4 different files to figure out what a single function did.

~~~
If PHP embraced its procedural nature and fixed a lot of the niggles (array sort functions don't return the array) then it could be truly great.
~~~

Yeah, I think it's things like this that bug me the most: the little things. The little inconsistencies like you mentioned there, but also other things. I think if I could change one thing in PHP, I would add the ability to select an array key directly from a function return. i.e. currently, instead of "$a = get_some_array()[3];", if I want a one-liner, I would have to do: "$a = array_shift(array_slice(get_some_array(), 3));".

append delete #16. Kroc

As far as I see the future of servers, I feel that over time the client and the server will begin to merge and become flexible instead of this big-iron view of a big computer on one end with its own language.

When code can be shared between server and client, then a server can technically become anything--not just a big hunk of iron in a room. Other apps on your system could be servers, talking to each other via JSON. Firebug could be a server, letting you develop and run code locally. We’ll have lots of JavaScript servers running all the time on all kinds of equipment and sharing information and code between them and browsers.

In the future, a server will be a headless browser.

append delete #17. JJ

On the subject of JS, I've been messing around with Node lately. It's definitely one of the most powerful things I've ever seen for web development. Writing something in it takes some getting used to though. Everything ends up being arranged in an amazingly intricate series of callbacks due to the asynchronous nature of the API. I'm still working on a good way of structuring the code, but I like it so far. It seems to be a bright future for the web.

append delete #18. Dubien

Hello. I play minecraft and on my server I found a house that says to visit this website. Is it you that built the house?

append delete #19. Kroc

Indeed it is, hi! I was visiting various UK servers seeing what is available. How did you manage to find the hut? It was miles out in the middle of nowhere!

append delete #20. Ian Connor

Hi.

Wondering if you could help me. Your code for 'video for everybody' is amazing. I've got a cargo site (cargocollective/mrconnor) which I'm putting together at the moment and by using your source code I can finally get videos to play on my iphone by using html5 without having to pay for something like vimeo plus.

But, I would like to know if there is a way to ensure that flash DOES play first, and html5 only if it has to (like on iphone). I prefer flash players because of the consistency across browsers. I know i could use something like videojs, but i don't know enough to get that working.

Greatly appreciate any help!

append delete #21. Kroc

@Ian Conner Just put the <video> element inside the <object>, as simple of that; but if you want consistency across browser, you'd be better of using mediaelementjs.com (based on VfE). VfE is a raw piece of code for learning principles, rather than beauty.

append delete #22. Ian Connor

Hey,

So I managed to adapt a bit of code so that I've got html5 fallback. This video works perfectly in chrome, safari and on iphone, but in firefox it sees both the flash and the html5, instead of the html sitting behind the flash - if that makes sense.

cargocollective.com/…

thanks.

append delete #23. Kroc

This thread is not for technical support of VfE, and I only provide technical support for VfE if it is unaltered (it has to be tested on so many browsers). If you can't get it to do what you want, just use mediaelement.js which patches up a million-and-one browser bugs that can't be solved in markup alone. Mine is a purist approach, not a practical one.

append delete #24. dcrocks

I am working on a drupal theme and am trying to use html and body elements as wrappers. Everything is fine except: the height of the html element is always less than the height of the body element. If I apply a background element to html(eg. a gradient), it is cut off at the bottom, and always white outside the body area. The height difference must be a composite # because I can't match it to any margin, padding, border, or any other # in the layout. Is there a formula to accumulate the height elements.

append delete #25. dcrocks

Some further research. I found the cause of the discrepancy. In drupal, on an admin account, a toolbar 'overlay' generated by jquery adds height to the body element but not the html element. It accounts exactly for the # of bytes difference. Don't know how to solve it though. Interestingly, a background color on the html element covers the background completely no matter what the html height is, but a background-image gradient doesn't. It quits at the html's height value. Will experiment some more.

Reply

(Leave this as-is, it’s a trap!)

There is no need to “register”, just enter the same name + password of your choice every time.

Pro tip: Use markup to add links, quotes and more.

Your friendly neighbourhood moderators: Kroc, Impressed, Martijn