So, version 1.41 rolls out the door. I've been working flat out on it since I found out about the recording bugs and; of course; activation.
Well - some will be pleased to know it's gone. Replaced with a typical serial number system. What else? A new feature! Amazing - feels like I've not done "cool new feature work" for a little while now (er, that'll be because I've not - I've spent the last two months working on the website and Squish).
Anyway - done! Enjoy!
Thursday, June 28, 2007
Friday, June 22, 2007
Squish!
Some of you many know that SWB is working on another product. Some of you may even have seen it and tried it. It's all true (which is a good thing).
It became clear that H264 is excellent for compression but not such a hot choice if you either don't have a grunty machine (think: G4 and some G5's) or are capturing the entire desktop ... oh; and of course forget getting a high frame rate.
For all my screencasts, I use either Apple Intermediate or Apple Animation. Good frame rate, low CPU usage. Huuuuuuge files. I've got QT Pro. I think loads of people have. But it's interface is ... shall we say ... ik?
That was my motivator. I'm going to release a free time limited feedback demo (just like I did with iShowU) when I've got the essential 1.0 features in place. There's quite a bit that won't be in the 1.0 that I'd like to do, but if I do all those then it'll never get released. And that would suck.
It became clear that H264 is excellent for compression but not such a hot choice if you either don't have a grunty machine (think: G4 and some G5's) or are capturing the entire desktop ... oh; and of course forget getting a high frame rate.
For all my screencasts, I use either Apple Intermediate or Apple Animation. Good frame rate, low CPU usage. Huuuuuuge files. I've got QT Pro. I think loads of people have. But it's interface is ... shall we say ... ik?
That was my motivator. I'm going to release a free time limited feedback demo (just like I did with iShowU) when I've got the essential 1.0 features in place. There's quite a bit that won't be in the 1.0 that I'd like to do, but if I do all those then it'll never get released. And that would suck.
The activation system
Busy times, busy times. The new system is live. Pretty obvious I guess if you've downloaded anything from the 1.35 release onward.
I must admit; I didn't expect as much "resistance" to the new system as I've had. That's not to say hundreds of people have emailed me negative things - but certainly a handful have. On the other hand; I've had nearly an equal number of people say it's cool.
I didn't intend to: But I think this might have turned into a bit of a rant. Of course; I don't intend to offend anyone - but if you'd like to get a small glimpse into my last four days read on. If you don't care about the "why" of activation etc then just skip this post entirely.
The Defense: If you're wondering "why? why?" - there are very good reasons:
* Support - If I can cut down on the number of emails relating to "I can't type my code in" then I can work on more products, or fix issues, or do other things. Those registration issues were only going to get worse as the sales increased. This is the primary reason for activation. I'm not jumping on a bandwagon of trying to be mean to users or anything like that. Seriously - the whole point is that it's supposed to be easier for you to activate. If just have to use one piece of information (i.e: the same username and password as you did when you purchased) then there's less chance of something going wrong. More chance that it'll "just work" and you'll be using the software as you want to.
* Profit - Simply put - the business can make more money if it goes through paypal. And that in the end benefits the customer because shinywhitebox will still be around. I suppose some people might see this as a greedy-money-grabbing-not-caring-about-the-customer exercise. I'm not going to get into arguments about it though. The business reasons are above - I can't force you to have my opinion.
* The next product - In reality Kagi can be a bit of a handful to setup. I'm not slagging them here OK? I've dealt with them a reasonable amount and they have excellent support. But their website and product interface leaves lots to be desired. I'd rather not have to go through that for the next product. Creating this framework will mean that the next product (in the wings) can be bought to market earlier than it would have been otherwise.
Teething - It's fair to say there were some teething issues. When it was first released; it locked the activation to a single machine. Thus it appeared that something the user had (the ability to install one license on any number of machines) was being removed. So we went for a balance. Let you activate a personal license 5 times so that you don't keep on having to deactivate/activate on other machines if you want to use it. We figure that's being quite generous.
The Machine Serial Number - This caused a bit of (and probably still does) a stir. Some people are unhappy that this is used in the activation process. As I mentioned on the website - we have to use something in order to identify the machine (and a number of other well known authors also use it - you just might not realize it, is all). That's all it's for. Identifying that yes, this machine has been activated. If we use some other piece of information then it can change more easily (at which time your activation becomes invalid). All I can say (and again, if you choose not to believe this there is little I can do) is that were not doing anything other than what I've described here with that number. No one else can see it. No one else can access it. It's used for activation only.
I'll stop there before I really start ranting! No, overall it's been a success. I don't believe that most people who find something works actually email the author to let them know. It's a human thing right? We just expect it. So given that there have been just a handful of negative emails, I'd say activation was a good release (if unexpected by most people).
I must admit; I didn't expect as much "resistance" to the new system as I've had. That's not to say hundreds of people have emailed me negative things - but certainly a handful have. On the other hand; I've had nearly an equal number of people say it's cool.
I didn't intend to: But I think this might have turned into a bit of a rant. Of course; I don't intend to offend anyone - but if you'd like to get a small glimpse into my last four days read on. If you don't care about the "why" of activation etc then just skip this post entirely.
The Defense: If you're wondering "why? why?" - there are very good reasons:
* Support - If I can cut down on the number of emails relating to "I can't type my code in" then I can work on more products, or fix issues, or do other things. Those registration issues were only going to get worse as the sales increased. This is the primary reason for activation. I'm not jumping on a bandwagon of trying to be mean to users or anything like that. Seriously - the whole point is that it's supposed to be easier for you to activate. If just have to use one piece of information (i.e: the same username and password as you did when you purchased) then there's less chance of something going wrong. More chance that it'll "just work" and you'll be using the software as you want to.
* Profit - Simply put - the business can make more money if it goes through paypal. And that in the end benefits the customer because shinywhitebox will still be around. I suppose some people might see this as a greedy-money-grabbing-not-caring-about-the-customer exercise. I'm not going to get into arguments about it though. The business reasons are above - I can't force you to have my opinion.
* The next product - In reality Kagi can be a bit of a handful to setup. I'm not slagging them here OK? I've dealt with them a reasonable amount and they have excellent support. But their website and product interface leaves lots to be desired. I'd rather not have to go through that for the next product. Creating this framework will mean that the next product (in the wings) can be bought to market earlier than it would have been otherwise.
Teething - It's fair to say there were some teething issues. When it was first released; it locked the activation to a single machine. Thus it appeared that something the user had (the ability to install one license on any number of machines) was being removed. So we went for a balance. Let you activate a personal license 5 times so that you don't keep on having to deactivate/activate on other machines if you want to use it. We figure that's being quite generous.
The Machine Serial Number - This caused a bit of (and probably still does) a stir. Some people are unhappy that this is used in the activation process. As I mentioned on the website - we have to use something in order to identify the machine (and a number of other well known authors also use it - you just might not realize it, is all). That's all it's for. Identifying that yes, this machine has been activated. If we use some other piece of information then it can change more easily (at which time your activation becomes invalid). All I can say (and again, if you choose not to believe this there is little I can do) is that were not doing anything other than what I've described here with that number. No one else can see it. No one else can access it. It's used for activation only.
I'll stop there before I really start ranting! No, overall it's been a success. I don't believe that most people who find something works actually email the author to let them know. It's a human thing right? We just expect it. So given that there have been just a handful of negative emails, I'd say activation was a good release (if unexpected by most people).
Tuesday, March 27, 2007
Recent optimizations
It's been interesting lately - I've been delving into OpenGL more, in an effort to optimize iShowU. Read more here http://forums.shinywhitebox.com/viewtopic.php?t=438.
It all started when I wanted to create some videos showing the best settings for recording games (World of Warcraft being my main "waste of time" :-). I thought to myself ... "I wonder just how inefficient I'm being here". I set to work with the OpenGLProfiler, and found that of all iShowUs' time, 22-45% was spent in OpenGL (30-45% if capturing from two screens at the same time) while recording World of Warcraft.
I ended up pulling lots of capture code apart, and in the end found the problem (many thanks to the OpenGL list hosted by Apple). BTW - if you ever see the apple code example that implies that a glTexImage2D buffer can be different from a glGetTexImage buffer (i.e: they point to two different memory locations) - it's not true. Well, not true in my case anyway.
The omtimizations, from what I've observed, have been excellent.
It's not going to change the world, but on PPC capturing WoW at 1056x900 went from 17fps to 24fps. Even better gains on Intel. Full screen capture on an Intel MBP (15") went from 18fps average, to 25fps with some CPU time to spare. So in short, iShowU is able to pull data from the OpenGL subsystem much more efficiently. The downside is that this can have a negative performance imapact! If more frames can be captured, then they need to be compressed and stored. This means that the realtime compressor is working harder, and the harddisk bandwidth can be maxed out earlier.
In some ways then, iShowU will now let you "get it into trouble" a little easier. You can bump up the frame rates with Apple Animation for example, and watch the automatic capture status pop into view (after a view seconds) telling you that the system is generating more frames than can be written to disk (note that this is easy on a laptop, because the disk is typically a bit slower than a desktop machine).
But overall it's all good. In all capture cases, performance is improved. That was the goal :-)
It all started when I wanted to create some videos showing the best settings for recording games (World of Warcraft being my main "waste of time" :-). I thought to myself ... "I wonder just how inefficient I'm being here". I set to work with the OpenGLProfiler, and found that of all iShowUs' time, 22-45% was spent in OpenGL (30-45% if capturing from two screens at the same time) while recording World of Warcraft.
I ended up pulling lots of capture code apart, and in the end found the problem (many thanks to the OpenGL list hosted by Apple). BTW - if you ever see the apple code example that implies that a glTexImage2D buffer can be different from a glGetTexImage buffer (i.e: they point to two different memory locations) - it's not true. Well, not true in my case anyway.
The omtimizations, from what I've observed, have been excellent.
It's not going to change the world, but on PPC capturing WoW at 1056x900 went from 17fps to 24fps. Even better gains on Intel. Full screen capture on an Intel MBP (15") went from 18fps average, to 25fps with some CPU time to spare. So in short, iShowU is able to pull data from the OpenGL subsystem much more efficiently. The downside is that this can have a negative performance imapact! If more frames can be captured, then they need to be compressed and stored. This means that the realtime compressor is working harder, and the harddisk bandwidth can be maxed out earlier.
In some ways then, iShowU will now let you "get it into trouble" a little easier. You can bump up the frame rates with Apple Animation for example, and watch the automatic capture status pop into view (after a view seconds) telling you that the system is generating more frames than can be written to disk (note that this is easy on a laptop, because the disk is typically a bit slower than a desktop machine).
But overall it's all good. In all capture cases, performance is improved. That was the goal :-)
Subscribe to:
Posts (Atom)