Thank you for reading the 19th DVD Catalyst Newsletter.
IFA 2011: One of the major tech shows of the year, IFA, started today, and already the web is flooded with announcements made by companies like Samsung, HTC, Toshiba and more. There is just too much to list, so if you are interested in what the near future will bring, head on over to websites like slashgear.com and engadget.com to read all about it.
This time, it seems that the big tech companies have listened. Many of the new tablets that are scheduled for release are in a 7-8" size, which is something I prefer for my own use over the current 10" generation. If I have to go somewhere, it's much easier to grab my NOOK or my Playbook than it is to lug around the Xoom. I'm not sure if I would go form something smaller like the Samsung Galaxy Note (new lawsuits from Apple regarding the similarities with the iPod Touch?), but its nice that there is some variation regarding size around the corner.
Firefox for Android has been updated to include better support for Honeycomb tablets. I did a quick test-run with it, and it feels snappy. Unfortunately, some things are still working a bit different through. The sample videos on the tools4movies.com website don't stream. The files are still downloaded, however they do play now after the download is completed. Something that didn't work properly before.
The HP Touchpad is getting one last production run. With the "firesale" being a huge success, its a nice gesture from HP to squeeze just a little more out of the development costs it spent on the Touchpad. Still, I am wondering if HP is actually up to something else with this. I can understand the cheap price if you are trying to get at least some of the money back out of your investment, but doing another production run and selling those for the same "below-cost" price as before is just crazy.
DVD Catalyst News:
Well, DVD Catalyst 4 v22.214.171.124 is holding up a lot better than 4.1. While there have been some people whom reported complications, the majority of them have been resolved. There are a few outstanding issues, but those are very minor and about 99.9% of the DVD Catalyst users will not experience them. If you do run into something just send me an email.
Big news this week. After a long battle, MovieGallery finally got approved by Barnes & Noble for the NOOKcolor, and has been available since last Friday. There were some complications with the version B&N actually activated, which lacked a way for accessing the setting, but as of Tuesday evening you can get the proper version. If you watch movies on your NOOKcolor, give MovieGallery a shot. I'm sure you will get a lot of enjoyment out of it.
A buddy of mine asked me to come up with an android app to make some aspect of his business a bit easier, so for the majority of the week, I have been working on that (sorry, not a market-app) so not too many articles.
Spiderman 1 (2002) DVD
Spiderman 1 (2002) DVD | DVD Catalyst 4, the ultimate app for movies & tv on the go
Spiderman 1 was reported as having complications with DVD Catalyst 4 v126.96.36.199. Initially I was worried that the 4.1 issues returned, but (thankfully?) the same DVD had complications with 188.8.131.52 as well. The problem with this DVD, as well as Spidey 2 (Spidy 3 works fine though) is an easy fix though.
Conversion Performance & Speed
Conversion Performance & Speed | DVD Catalyst 4, the ultimate app for movies & tv on the go
While not so much recently, I often get questions on how to speed up conversions. In order to shine some light on these questions, I wrote an article on what all affects the conversion speed, and what you can do to make things go a bit faster.
Something new this week. Rather than writing a rant, I figured I'd write about something else. A few people have asked me for advice on how to start development. With so many platforms and development tools to choose from, where do you start. So I figured I'd give some insight on that. With the information below I will not go into technical details such as programming code or development tools. My intention is to just give an idea on the thought-process that is involved with software development.
How to start software development:
First off, I would like to point out that I am a self-taught developer. While I do have a college degree, my field did not include anything even related to application development. What I know is what I have picked up over the years, working through tutorials found on the web and a lot of dedication.
*Getting application ideas:
The hardest part of development is to keep interest while you are working on it. For a first app, don't go for something super big or overly ambitious. Start with something small, and rather than focusing on what is popular or what other people want, think about something you would use yourself.
Look at your own daily routine, and pick out something repetitive that you do. Maybe you visit certain websites on a daily basis, maybe you visit a cartoon website and send the link to your friends. These are great small tasks you can write your own little app for. Sure it would be amazing to create the next Angry Birds or maybe even Halo or Modern Warfare, but to start with something like that will result in major disappointment. With small apps, you get something that works as you want it to do within a short time, going for something big right away will likely result in either losing your interest because you don't get to see results within a reasonable amount of time, or you end up pulling your hair out after many months because you made a major mistake somewhere in the beginning. Just start small, and work your way up from there.
*picking the idea apart.
Application development is like building something with Lego's. On the box, you get to see the result, similar as what you envision your application to look like, but when you open the box, you have nothing but a collection of individual pieces. Before you start with your app, you have to pick out the individual little portions that make up the full program. If you want to create an app that visits a website, you have to look at all the steps it takes before you actually get to see the website.
In order to see a website, you need a web browser. You need internet connectivity, you need to type in the address to go to the website.
If you want to download a picture from the website, you have to find the picture on the website, then you have to download the picture to your tablet/computer/phone, you have to save the picture somewhere.
If you want to send the picture, you have to know where the picture is located, then you have to attach it to a message, then you have to add a receiver to the message, maybe a title or description, and then you have to send the message.
All these steps are individual blocks you will have to create and stack together in such a way that it looks like the picture on the box. And this is just a simple app. Imagine the steps needed to create a big game
*where to start.
With the app dissected into multiple single-task blocks, you have to figure out where to start. While many people start with the actual look of the app, I find that if I do that, I always end up making adjustments to it anyway, so I usually just pick one of the main tasks, and build a Spartan GUI with just minimum that I need in order to make it work, and just add new buttons whenever I need them. Once the app does what I want it to do, I move things around until I get the look that I want.
Most operating systems offer "libraries" you can connect to. These libraries are part of the operating system and provide access to certain features, saving you from having to write the full code for it. Things like taking a picture with an Android phone can be done with 2 or 3 lines of code, accessing the GPS and getting a location, also just a few lines. So for a web browser app, you would simply connect to the web browser library, and tell it to go to the website you want to. If you would like to have it go to more websites, you can add buttons, and each button will have it go to a different website.
Once you have something working, you can make a few changes, add something new, and you can see the result of your changes pretty much instantly, and you just keep adding new blocks to your app as needed.
DVD Catalyst Development History:
To give you a better outlook on development, writing a bit about DVD Catalyst's history might help.
A long long time ago in a land far far away, before DVD Catalyst was even thought of, I was converting DVDs to AVI files, and already had a large collection of video files. I was already interested in portable gadgets, and was already familiar with things like HPC's and Palm Pilots. When the PocketPC came out, I wanted one. When I finally got one, an iPaq 2210 Windows Mobile 2003 PocketPC, I wanted to put movies on it, so I spent some time figuring out what kind of files it liked, and went from there.
Unfortunately, the main conversion tool that was available that was capable of producing compatible video files only did DVDs, so I was stuck having to do it manually. I had to use Windows Media Encoder, which wasn't really friendly, and because I only had an 128MB memorycard for my iPaq, I had to deal with more than just the format of the file as a limitation.
In order to convert my movies to play on the iPaq AND to fit on my 128MB (119MB real space) memory card, I had to spent a nice amount of time with Windows Calculator and some fancy formula's in order to get things right.
This is when I started DVD Catalyst 0.0.0.1. The calculations were a pain, so I started working on something that would let me put in the length of the movie, and it would tell me what quality settings I could use to make sure it would fit. A reverse bitrate calculator app.
In order to get the length of the movie, I had to open the file in Windows Media Player, so to eliminate that, I added something into my little calculator that would let me select a file, the app would open it in media player, and get the duration from the file it needed for its calculations.
Windows Media Player also provided the width and the height of the video, so I added that and implemented the calculations needed to resize the video.
With all the numbers I needed (screen size, bitrate) I had to open Windows Media Encoder, add the video file to it and enter the numbers I got from the app, which wasn't really quick, so I made app talk to Windows Media Encoder and do it all for me. I select the video file in the app, the app does its calculations and then I start the conversion.
With the computer speed at the time, it took about 6 hours for a video to convert that way, and with a large collection of video files to do, I needed something that would let me do a collection of files. I could start multiple conversions at once, but that resulted in a major speed reduction so that was out of the question. So I implemented a "conversion queue" system, aka "batch".
I add multiple video files to the app, and start the conversion. When one file is done, it automatically continues on to the next. Now leaving it run overnight resulted in more than just one file
During this time, I lost my job. I spent a lot of time on applications, resumes and interviews, but all without success, so I figured that there were probably other people who were in a similar position as I was, so I prettied it up a bit, and released it commercially so it could help pay some bills.
Now, 8 years later,the app is called DVD Catalyst 4
Quite different from back then, but the core concept still remains. It scans the video files (or DVDs), it uses the found information for its calculations, and it runs the conversion.
Well, that is it for this week's newsletter. I hope the development article will be helpful to someone. If you would like to know more, maybe some more in-depth articles on android development, or if you would like to know more about certain aspects of video conversion, feel free to bug me. In the many years I have been doing this, I've seen and done a lot when it comes to IT, and am always happy to share my knowledge and experiences.
Thank you for reading the DVD Catalyst newsletter,