Today is a good day to code

When is Mides Going to get its Bugs Fixed

Posted: December 19th, 2010 | Author: | Filed under: iPhone, Lifestyle, mides, Objective-C | Tags: , , , , | No Comments »

A few people have been asking me when Mides is going to get its bugs fixed.  A few others are asking about Git & Subversion, yet a few others have been asking me about code completion, syntax highlighting and shortcuts.  I thought I would take a moment to post about what I have been doing, what the future of Mides looks like, and what I hope to be doing.

A few months ago, 5 to be exact, I thought I was in a stable place, where the coding challenges were hard, but not too hard, I worked with some great people, and we were having a great time.  Well, most of that was true, unfortunately the stability thing became an issue, and I started looking for a new job.  I was contacted by an awesome founder looking for a technical co-founder to help revolutionize the concept of whiteboarding with a strong focus on usability.  I accepted, and am now the CTO and Co-Founder of ZigZag.

Since we are a lean / agile outfit, we have an iteration loop that consists of building stuff and putting it in front of customers, and repeating.  I am having so much fun, and there is so much to do that there just isn’t time to do anything else.  When I was working at my old job, the breakdown looked like this:

My Brain Capacity Before ZigZag

My Brain Capacity Before ZigZag

I just had the ability to do a ton more stuff, and one of the things that I really wanted, and still want to do, is make it possible to do serious development while mobile.  The thing is that right now I just flat out don’t have time to work on it.  My available time and space for working on other projects looks more like this now:

After starting work for zigzag

Brain Capacity After ZigZag Board

So what do I see as the future of Mides.  Well, after ZigZag gets funded, which will take a ton of work, fortunately less from me since I have a non-technical co-founder who is awesome at sales, and we can hire a few quality engineers and usability people, I’d like to come back to it.  Its a tool that I currently use for working on our RoR web stuff, and since we use GitHub, pivotal, and AWS, I’d like to build in more integration with those tools.  I originally built Mides so that I could be more efficient, and I still see it as a tool for doing that.  Some things that likely will go away are plain old FTP access.  It is too complicated to support FTP, and I can’t find a library that isn’t encumbered by the GPL, so that probably will go away since I have to write it all from scratch for it to work.

What will stay, and get added?  Some other things that I would like to add include code coloring, git and subversion, more RoR support, a shell to work in AWS, a service to compile and run code in an on-demand instance, some other goodies like that.  I am currently thinking about that kind of stuff in the few seconds between when I am hacking Erlang, and Objective-C…  Granted those seconds are precious and hard to come by, so while I am not saying that I will be dropping work on Mides entirely I am not going to be doing any sort of hard core coding on it until ZigZag Board is completely off the ground and flying, which I hope is soon, I am putting everything I have into it.

Me as the CTO of ZigZag

How I Feel Every Day I Get to Work at ZigZag

The good side is that when I do start working on Mides again, the quality of the implementation will be much higher as my Obj-C skills are improving by leaps and bounds.  I am constantly amazed by the stuff that is possible on the iPad and iPhone, not that it isn’t challenging to work with, but it is an awesome platform.

Changing jobs was a great decision for me, I am challenged by something new and different every day that I log in.  I was atrophying before, and now I find myself asking myself what is important to do right now, and what can we ship right now so we can learn from our customers.  It is a much healthier place to be in, even though it is tinged by paranoia about money.  I am becoming a much more focused developer, and working with a co-founder who can clearly articulate his vision for the product, and who is also well versed in lean / agile, is hopefully going to make me an even better leader than I have been in the past.  Unfortunately my other projects will have to take a seat way, way back in the balcony.

Plans for Mides

Future Plans for Mides

I hope to get through even some of that for Mides eventually, if I can, then my vision for Mides will be complete.  It might take a couple of years, but I still want to do it.  Building tools is extremely difficult, not the least because developers are frequently not willing to pay for tools ( thanks Sun! ), they are incredibly critical of said tools, and getting the usability story right is nearly impossible.  That non-withstanding, I have learned a bunch from people using Mides, other developers are typically very clear about bugs, and the offers of support and help have been wonderful.  Well, that’s the news, I felt I should update everyone on the status of Mides.  It is definitely a side-project, and is likely to remain one, I can’t really see any reasonable business behind it, it is fun to work on, and will continue to be.

Open Source and Design: Why OSS Projects Have Strange UIs

Posted: June 9th, 2009 | Author: | Filed under: Uncategorized | Tags: , , , , , | No Comments »

One of the things that I have been continuously wondering is whether or not open source projects will ever get awesome UIs similar to the Apple iPhone, OS X, Apple TV, etc…  Right now I think that Ubuntu has made incredible strides toward getting a UI design that is anywhere near as awesome as Microsoft or Apple, but most other OSS projects just look ugly, or have no UI whatsoever.

Part of the reason, I think, is that most graphic designers make money off of their finished product, not necessarily the process by which they work.  If a UI designer / graphic designer were to open up their materials and process, what they did would have a little less value.  I worked for a while with a number of unbelievably talented designers, and they were very generous with their information.  So much so that someone like me who is unabashedly a programmer, who had no design skill, can now make moderately acceptable UI decisions.  The problem is that I am still far slower than they are at doing it, but one could see that if I were to have access to all of their psd files, etc… and their knowledge, I could just continuously duplicate what they had done.  I would not grow, I would not get better, but I could continue at that level indefinitely.  This would reduce the need for that designer long-term.  But this is a very small part of the problem.

Another issue, I think, is the nature of Open Source Development.  By necessity OSS is a community process, and design is not a community process.  Design is a single individual, or a group of like minded individuals’ effort to produce the art that is their vision.  If you open it up to the group, you will get 1 Million different approaches:  We should animate transitions!  We should not animate transitions!  We should copy the OS X dock! We should copy the Windows start menu!  These are things that can destroy a design process, what what you end up with is Windows Vista, or OS X 10.3 with lots of different interactions that don’t make sense to the end user.  The amazing thing about art is that the finished product always reflects the process.  If the creation process was disharmonious and quixotic, then the finished product will be that way, no matter how talented the designers.  If the creation process was focused and driven then that is how the finished product will be.

Another reason is the inherent contempt developers seem to have for designers telling them what to do.  So many developers think that they can design a series of forms, etc, and will challenge designers’ judgement.  In a OSS project, where the developers do not have business overlords forcing them to bow to the designers “crazy, insane, hard, impossible” requirements, they will not do it.  The reason Apple got where they are now is because Steve Jobs forced the developers to bow to the designers, and the result is arguably, the best working environment on a computer, technically as well as aesthetically.

I think this may be an intractable problem inherent to open source projects, barring an executive taking an open source project ( Free BSD ), and hiring a designer to draw up the UI + interactions ( Cordell Ratzlaff? ), and then forcing developers to do the impossible ( Bud Tribble ( NextStep Engineers ) ).  Also, since it is art, hiring a designer to create assets and interactions for any software is incredibly expensive, relative to the low barrier to entry of just doing it yourself.  I don’t actually have an answer for this, I am wondering how it will ultimately be resolved.