How Much Work Actually Goes Into Each And Every Article I Write

Most articles I write here are very simple from conception to pressing that publish button.

Usually I get an idea of “Hey, it would be cool if I could do this in Linux” and then I spend a fair chunk of time familiarizing myself with the topic as well as the solution and then I sit down and do it myself.  I take notes along the way and finally I write the actual article, usually in a short period of time, since by the time I’m putting the pencil to the proverbial paper, I’ve become reasonably familiar with the topic at hand.

I’ve been working for the last 5 or 6 hours on what appears at the surface to be a very simple article.  It’s about how to get your iPhone setup to use the HTTP Remote Control in VLC  to control your playlists / etc.

Let’s just say that this article ended up being much more difficult than I first imagined.

I figured that I would simply enable the HTTP server in VLC, connect via Safari on the iPhone and everything would be OK.  I was dead wrong.  Oh, it works alright, but it doesn’t display properly, and isn’t really usable.  I found this page after much searching, which had a re-themed version of the HTTP interface for PDAs and PSPs.  I thought my long search was over.  Wrong – the link to the Graphite theme is totally useless – it’s been out of date for quite some time now.
So I had to figure out how to do it myself.

First I started trying to download a new svn/cvs version of VLC, as I had read that 8.6c had better mobile support.  That had bad news written all over it to begin with, but I persisted onwards, until my notes looked something like this (newlines ommitted to save space:

apt-get build-dep vlc libtool automake1.9 ffmpeg libavcodec-dev libpostproc-dev subversion automake libtool gettext cvs libdvdcss2 This command takes several minutes. svn co svn:// vlc-trunk cd vlc-trunk; ./bootstrap Output should be Successfully bootstrapped. cd extras; cd vlc-trunk/extras svn checkout svn:// ffmpeg cd ffmpeg ./configure --enable-gpl --enable-pp --enable-pthreads --enable-libmp3lame make cd ~/Desktop/ wget tar xvjf vlc-0.8.6b-test1.tar.bz2 svn co svn:// Wait.... wait... keep waiting... for that to finish. It takes a damn long time! Open up another terminal. cd ~/Desktop/ wget tar xvjf libmad-0.15.1b.tar.gz cd ~/libmad-0.15.1b ./configure make sudo make install cd ~/Desktop tar wxGTK-2.8.5.tar.bz2 cd wxGTK-2.8.5 wget ./configure --prefix=/usr --enable-wxwindows ./compile

Hmm… no good at all – way, way too complicated, even for me.  I’m pretty sure I even ran a few commands that borked my VLC config file beyond repair.  I don’t want tutorials I write to be so complicated that I’m writing shell scripts to do the work for you, or a person with minimal experience can’t follow my instructions since they are so convoluted and/or take HOURS to complete.  In the list above, the “build-dep” package weighs in at over 100MB of packages!

How are we supposed to learn from experience if you don’t/wont/can’t do anything yourself?

In the end, what started as a simple “oh, I’ll just recompile VLC” turned into a complete nightmare.  By the way, I did find the best guide on how to recompile VLC after going through most of the above by trial and error.

So now, what I’ll be doing instead, is re-writing a VLC control interface so that things look good on the iPhone.  I’ll also see if my GUI can be easily adapted to Windows Mobile, it shouldn’t be difficult at all.

I’m not just doing this for myself, I’m primarily doing all this work for you, to give back to the community.

If you would like to see an improved VLC http interface for pretty much every mobile phone, pda, tablet, etc and are not already subscribed to my RSS feed or updates via email, click here to subscribe now and I’ll have something for you later this week.

Stay tuned, I’ve got lots of new and interesting things coming specifically aimed at Linux iPhone users.  Strangely enough, most of them are actually applicable to Windows and Mac also.

Enjoy my rant?  Subscribe to the RSS feed.