This weekend, I started building my first iOS app. This was such a monumental moment for me because the past few years have been a challenging voyage to make this experience possible.
I wasn’t a developer 3 years ago, I was a photographer. I always preferred the post-production side of photography and most of my work was actually retouching. I had a full-time job where I was retouching, which I was blessed with because it is actually kind of rare in the industry. The monotony of retouching all day long allowed me to realize I couldn’t do it for the rest of my life. I needed something to sink my teeth into. I needed something that challenged me on a daily basis.
I have always had a passion for software and interfaces and I was already spending most of my social time critically discussing design decisions of whatever app was hot at the time. I decided I would become a developer.
I knew how to put a theme on WordPress and some basic CSS, but that was about it. I had no idea where to start.
I want to make this next part very clear. I went from knowing very little about programming to being pretty-functional in three years by doing this one simple thing:
I didn’t say no.
No matter what the challenge was. I just didn’t say no. “Migrate this database.” Ok. I would just figure it out. “I want this site in Django.” Ok. I’ll learn Django. There were so many mind-blowingly hard moments. I just literally believed I could figure anything out. And I did.
You can too. It sucks, but you can do it. Just Google it. Check out Stack Overflow. Read documentation. Never say no.
You might do a kind of bad job at it the first time. Don’t worry, someone is going to tell you why it sucks, and next time you will do it better.
Just keep going. Trust me, it’s worth it. If you want to be a developer it’s possible. Just commit to it all the way, always say yes, and before you know it, everything will keep getting easier and easier. Patterns will start to emerge. You will read things and understand the concepts better than before.
No matter what anyone says, there is no correct order to learning. Just follow your intuition, stay positive, and try to take something useful from every experience.
Talk to you in a couple years. Go get to work.
(Originally posted on Medium)
I created my first WordPress theme. I call it Song.
Song is a WordPress theme for writers who want a simple and sophisticated theme. I tried to focus on readability and speed. So much in fact, that I am calling it the ‘fastest WordPress theme ever.’ I actually believe that statement. I’m getting 120ms load times at the right time of day.
I wrote a bunch more about it over here. Check it out.
This week Panic announced Status Board. I was excited by the idea of Status Board because I have always been a fan of Dashboard for OS X. I think having the board physically available and not hidden makes it much more useful. Glancing over at my iPad is more convenient and more engaging than switching to a hidden space on my laptop.
Recently, I created a website called whyamicrazytoday.com. It’s basically a way for me to check the current moon phase. Unfortunately, because it’s a website, I never check it. So I created ‘Why am I crazy today?’ for Status Board.
To install the moon calendar on your Status Board, click the button below from your iPad.
I hope you enjoy, and for personal reference, new moons make me much crazier than full moons.
Streams are handled one of two distinct ways:
Streams like Twitter, Instagram, Vine, and Tumblr propagate the stream with every post in order. With no weight being giving to any one particular post (minus ‘featured posts’ on Tumblr). This forces you into curating your stream by un-following users who are contributing less-than-desirable content to it. There is one method of control and it is fully understood.
Streams like Facebook are curated. They are trying to take a hint from the success of Google and Apple by giving the user what they want without the user doing anything.
There are at least two basic levels of a relationship on Facebook. Friending and Subscribing. Subscribing is basically used as your out. ‘Dude, I friended this dude because he’s got friends, but he writes about his stomach problems all the time.’ Facebook’s solution, un-subscribe from him. Now you have unaffected your relationship, without participating in it. Seems kinda passive aggressive to me.
Secondly, Facebook tries to curate what you want to see based on who’s pages you go to and who you interact with. If you think about it, that’s not what I want to see. I follow those people more aggressively on my own. So the result is usually user’s complaining of fatigue because it’s always ‘the same shit.’ I can barely keep up with the diverse content of 150 people on Twitter, and you are telling me ‘the same shit’ is coming from my 600 friends on Facebook. I think this is a major mistake by Facebook. I’ll call it ‘Facebook Dictation Mode.’
I understand the point of curating huge streams like those that occur on Facebook, but simplifying it with what people already know is the wrong way to do it.
With the recent changes being made to the News Feed I was expected a better solution. The sidebar of ‘what’s happening right now’ appears to be gone. Albeit that it is U.G.L.Y., occasionally it would catch my eye and I’d notice something I would never normally have seen in my regular News Feed. If I have to click in to my various streams, it could feel like work, to find the information I’m looking for. Constant time-based streams don’t feel like work, because there is only one action: scroll-down for more. You don’t make any decisions, you just wait for something to catch your eye.
I know Facebook has a ton of smart people working on this, and I really hope they figure it out in a way people can easily understand and enjoy. People tend to jump ship pretty quickly these days. If someone came out with a great solution to handle a ton of user content, but it felt fresh and found an excited user base, I fear people would bail on Facebook relatively fast. That’s how Facebook stole the users of MySpace. MySpace had become riddled with ‘band spam’ and ‘overly-sexually-active’ sorts. Facebook offered a cleanness and a way to deal with those problems. The user base switched.
I don’t think I’ve ever heard anyone call the Enterprise-D ugly. When I watch Star Trek: The Next Generation I am constantly in awe of how un-affected the designs are by time. From the computer interface to the color palette to the warp drive. So little looks dated.
On the other hand, some of the actual technology of the ship has become outdated already. I love how they ‘bring’ each other data. You don’t see any wires on TNG, but they don’t seem to have Wi-Fi either. ‘Take your report to engineering….’
The main computer interface is highly verbal. I am pretty sure when the show came out, this seemed totally amazing. It’s exciting how tangible these verbal interactions actually are now. Even though Siri is painfully slow, when I use Google voice search, I am reminded that voice commands have a chance. They just need a ton of work.
The PADDs they carry around are also feature-wise, pretty similar to our 21st century tablet computers. The desk computers, like Picard’s desk terminal, are much smaller than our desktop displays. He was not hiding behind the terminal, it was merely an accessory. Something to record his thoughts, or learn about something he didn’t know.
The medical advancements are where we are most behind (or maybe most on schedule). It seems as if only non-critical characters could develop incurable illnesses. Physical injuries just required a good laser zapping and you’d be back in business. Luckily we have 300 years to catch up to them in that regard.
The least explained and totally crazy technology is the ‘Universal Translator‘ which appears to rarely have a physical interface but allows every species to talk to every species without question in U.S. English. I could have used this technology the last time I was in France. Am I right French people?!
The other technology that we are not even close with is the Holographic Mobile Emitter for the Doctor on Voyager. I won’t get into that though, because it was the technically from the 29th century and on a different show. Oh, and warp drive technology.
In conclusion, the Enterprise-D is beautiful design and doesn’t get old. It’s fun to see how Gene Roddenberry’s vision of the future is mostly coming into clear sight centuries ahead of time.
As I set this new site up, I was interested in exploring options for video hosting. When I had originally set up the placeholder videos, I used Vimeo embeds. I love Vimeo and have used it on other sites, but I wanted this site to be faster. The Vimeo embed loads significantly after the page load. I thought I could remedy that by using a poster image in it’s place, while it loads. This worked, but was messier than I’d like and I couldn’t pre-load the video in the background without it auto-playing.
I looked into locally hosted HTML5 video players. There are a lot of them. None of them really matched all my desires. This chart is quick reference to all their features. I was most interested in VideoJS. The only problem was the Flash fallback was not responsive and didn’t work with my design. I hacked it to be responsive, but since I have a box-shadow element on a div surrounding the player, it had to be pixel perfect at all sizes or else it would leave a gap before the shadow.
I eventually settled on SublimeVideo as a temporary solution. Once I had my video really exported well, the load time was unstoppable. The HTML5 poster frame loads immediately, and the video auto-loads in the background as the visitor is reading the page.
I only had to hack it a little bit to get my container box-shadow to work well. It’s not perfect, but I know what I want now and I’m keeping my eye out now for the perfect HTML5 video player.
I received my Mailbox app invite today. My immediate impression upon using the app was that I needed a desktop version. I can understand some people might manage most of their email from their phone, but I spend most of my time on a computer.
I found the Mailbox way of dealing with email sorting to be an exciting option over the traditional folder-based system. Unfortunately, I would have liked access to my previous folders through the app, since I could not file those legacy emails in the Mailbox way.
I also am not a big fan of conversation view. I turn it off in my other email clients, and there is no way to do so through Mailbox app. This is problematic, because when I get an email related to an older conversation, it drags the rest of those messages into my inbox on other devices.
That being said, I am very excited about the future of email, and I think Orchestra did a great job in rethinking the process. I will wait for the next update or two to see if I will actually use this as my main email client.
I recently decided to re-design my website. As part of the process I decided to investigate leaving my current web host and move to a more contemporary hosting solution. Since this site is build on WordPress, I found Heroku and other cloud based solutions to be somewhat problematic for my PHP needs.
I eventually settled on WP Engine as my new host, not only because it robustly supports WordPress and PHP, but also because it is so much faster than my previous hosting. The overall experience so far has been great. It’s quite expensive for a single site, but it feels like rock solid WordPress hosting with a ton of built in tools for backup, staging, and caching.
Since I can remember I have struggled in my relationship with notifications. I have never liked being distracted from my task at hand, but I also feel the need to be in touch at all times.
On many OS today, the accepted default is to be distracted.
I found ‘Notification Center’ in OSX and iOS to be redundant when it was introduced. I’m usually paying attention, so I was generally confronted with a list of things I had already seen when opening the list view.
Currently, I am running with ‘Notification Center’ turned off on my desktop and minimal notifications running on my phone.
This is not perfectly ideal either. I can only imagine the day will come where we will have to confront notifications more seriously. Are they email? Is there a universal notification service? How do you keep them from being redundant?
I’m excited about that day.