Good evening all!
First of all, let me start by saying that for the foreseeable future, all existing projects are on hold. This includes VTemp, VTemp web, Boiled, WinFlare 2, everything. As I said in my last post, it's been an extremely busy month for me, and it just got a whole lot busier. My schedule doesn't have as much freedom as it did before and certainly not enough to get work done on my projects. If I'm being honest, I'd say I've even grown bored of these projects and trying to find time to get them together. It feels more like work, and not the enjoyable sort of work (like the type I do in my new job). When I transitioned from "Innuendo Design" to "ThoughtCloud", one of my statements was that I wasn't going to let myself be bound to a project just out of some sense of need. Thus, you could consider that for now, I'm releasing the hold on these applications with the potential of never working on them again.
I'd say I've grown tired of software development in general. I'm now much more about web development. It's quicker iteration, less frustration, and the community is so much bigger (compared to Delphi's). I can create interfaces that are equally or more fantastic, and I don't have to worry about things like threading.
As part of my new job role, I'll be creating fairly stunning web-based projects. I can't share anything client specific of course, but I can expand the ideas out and include more options (i.e. jumping straight from what we'd call "v1" to the version that's being planned even while V1 is being developed). Additionally with what I'm learning, I can create small projects that don't belong to the business (either they're created by me, demonstrated to my colleagues, and simply not considered at the moment, or they're simply created during evenings of 'downtime' where there's not enough time to actually work on VTemp or Boiled). For example, a week or so ago, I created a 'JQuery Message Bar' in an evening; http://www.innuendo-eu.co.uk/PublicResources/AppDev/WebDev/jQueryMsgBar/
That's an idea I toyed with for VTemp UI a long time ago. The webkit notifications support is just the icing on the cake. If you take a look at the code of it (mostly sat in http://www.innuendo-eu.co.uk/PublicResources/AppDev/WebDev/jQueryMsgBar/js/jquery.modernMsgBar.js) you'll see that it's fairly simple. It's been built to be expandable and easy to modify, and there's comments for everything. It'd be super-easy to hook up a setInterval call to periodically check some source for updates (e.g. a DB, a remote site/API, etc) and show the alert bar and the webkit notification. You can feed in a small image as well, though for the purpose of webkit notifications, try to make sure that it's got a coloured background of some sort, or an outline. You're free to take that code and design and reuse, edit, or redistribute, I just ask that you keep the commented header in jquery.modernMsgBar.js in place indicating it was made by me. If you do use it anywhere, please do let me know (contact details at the bottom, or simply tweet @ChronSyn ).
I'm hoping to have more widgets like this available in the future. They're all gonna be random ideas I throw out there as opposed to long-winded projects. Some of them might have alternatives, but all the ones I showcase will be my own creation unless otherwise specified. The web is already an incredibly interactive and responsive place, but that doesn't mean that there's no room for more or that we should all conform to the same design elements and prebuilt libraries.
It's been a very busy month for me. I'm moving to a new department at work that's much more focused on development and so I've had to focus a lot on revision for what's required. Thus I've not had much chance to do any real work on VTemp, either the application or the web demo.
However, what I have done is made a few decisions on where I'll be taking the web side of things;
In Chrome, and other webkit based browsers, you can make use of desktop notifications. These notifications are small rectangles which allows a developer to display small messages, images, and basic content. I'm not sure on the application I'll use these for, but perhaps I'll make use of it along with some sort of alerts system (e.g. CPU temperature limit).
I already demonstrated this in the existing demo, but I'll be expanding this to include extra features. For example, dynamically hiding specific data boxes, allowing boxes to be minimized in size (using jquery with the CSS margin or padding properties), etc.
I'll also be hoping to create some graphs that cumulate all the data and display some interesting stats. For example, I might display the correlation between CPU model and voltage, GPU brand and temperatures, etc.
So, what am I waiting for?
Well, I've got a busy 2 weeks ahead, potentially even beyond that. Additional to that, I've got a lot of work to do regarding DB queries. Right now they're not anything beyond basic. The data I've got stored is very optimized as it is, but performance is an absolute priority. There's also some limitations that need to be put in place, but this hopefully won't be too difficult.
Anyway, that's all for now. I still don't have an ETA for any of the releases yet. Again, I've got a busy time ahead but hopefully with what I learn in my new work department, I'll be able to produce something even better than I originally intended.
Good morning all!
Here we are, 7th of March 2014; today is the day. I've decided that I'm going to be starting something new, not a project, but a challenge (or rather a series of challenges) - Coding24.
What is Coding24?
Coding24 is a challenge I'm setting myself. It's an umbrella term more than anything and the simple explanation is that each Coding24 challenge is to create something new and useful from scratch within 24 hours of real time.
What's the first challenge?
The first challenge is a big one! I've only recently got to grips with jQuery so I'm really pushing myself here. The challenge is to create a page that loads in another web page and allows you to modify a large number of aspects of the design, from the colours, to how round the corners are, and what fonts are used.
Why is this different from Dreamweaver or other software?
The difference is that this project will be a web page, so you'll only need a modern web browser to be able to change a design. Additionally, instead of requiring you to mess about with the template directly, it'll simply allow you to include a link to a script in the page itself. The script will modify the properties of the various elements on the page you're changing and then load them in when the page loads. Essentially you won't need to have any skills other than being able to use a web browser, and follow some simple instructions for including the script into your page.
Any preparation allowed?
I'm allowing myself time before a challenge to do any necessary preparation, particularly in areas where I'm new or simply unfamiliar. I'll do much research beforehand but all coding and design will be done during the 24 hour coding timescale and that's what'll be filmed.
What's the deal with '24 hours'?
24 hours seemed like a realistic timescale for the sorts of projects that'll be run under Coding24. The caveat is that it doesn't have to be done in a single session. For example I could split it into 2x 12 hour sessions or 4x 6 hour sessions, etc. It seemed like a well rounded timescale. Due to real life constraints and such, I simply can't work the entire challenge into a single 24 hour time period. You could say it's "24 hours of coding and design time".
How will we know that only 24 hours of coding happened?
The entire coding session will be filmed and I've developed a timer application that displays the current time and date, the elapsed time, and the remaining time for the current project. It also has a simple [red|green] bar as a more visual representation of time progress. This timer will be visible throughout the video. The timer can NOT be reset without restarting the timer program, the amount of time is hardcoded to 24 hours. I'm also considering putting in some sort of timestamp based unique ID, so you'll be able to identify that the timer running is the same one. The videos will be time-lapsed so they'll run faster than real time. Any pauses in the timer will be indicated in the video with a short message. Once the timer is finished, a message will popup in the center of the screen indicating this.
What's the reward for completing on time?
There's no reward for completing it other than knowing I did something fantastic and that I've got something to showcase.
...And, any punishment for failure?
No punishment, other than the videos indicating that I didn't beat the challenge. I won't abandon a project that wasn't completed in time unless I genuinely don't believe it could be done within a reasonable amount of time or there were unexpected happenings that interfered with it.
The big question: Why?
I'm tired of promising projects and not delivering on time. I want to turn coding from 'empty promises' into something where there's an achievable aspect of challenge to them.
Will this be expanded?
It certainly will! At some point in the future, I'll be expanding it to allow 'game playthrough' or game challenges under a 'Gaming24' title. You'll be able to challenge me to complete something within a game within a set time. It won't necessarily be 24 hours timescale, but I'll set a realistic expectation that's still a challenge. For example, if someone says "Defeat Diablo in Diablo 3 on the highest difficulty level", then I'll probably set a timescale of 1 hour for that. If someone says "Playthrough all of Diablo 3 on the highest difficulty", I'll set a longer timescale of around 12 hours for that. Those are just examples. I'll have more details on the '24' series' in the future.
So when does the first challenge begin?
The first challenge hasn't begun as of writing. I likely won't post about when it is starting as time is of the essence. It'll be starting in the next day or 2, but I've got a lot of preparation to do. It's an incredibly complex project in an area I'm relatively new to this specific area, not to mention the idea itself is pretty extravagant. I've got a lot to figure out so I want to make sure I get it right the first time around.
When will the first challenge end?
I don't know when it'll end. There'll only be 24 hours of coding and/or design involved but it could end several days after it's started.
Good evening all!
I'm sure many of you are wondering what the status is with projects and updates. I must apologize that it's been silent on that matter for a few weeks now. It's been a month since VTemp 3 Revision 1 was released and it's been one helluva month for me. There's been some changes at work (not to mention it's annual billing so it's non-stop work), I've had gaming videos to try and keep up with, and a few requests that had to take priority.
Fortunately, as part of these requests, I've actually managed to investigate where to take VTemp for the next revision and I'm extremely pleased to be able to showcase some of that today! Without further ado, I'm here to show off 'VTemp on the web'. This has been a project I've had in planning for a long time but only recently have I been able to actually get around to it. It's essentially a completely dynamic web-based display for VTemp data! It's completely API powered and uses some clever jQuery and PHP code behind the scenes.
You may be able to see that it's updating live. The information there is pulled live from the API and the data is submitted live from my system. As I said, some code wizardry meant it was possible to make it all seamless and dynamically update. My plan is to build a full web interface to go along with VTemp but I'll still be building a dedicated high-performance mobile client that won't rely on HTML. With what I learnt from building this, I'm also going to be expanding the website to include a whole load more options. I don't have any details just yet but I'll hopefully be able to share some more info on that at a future date. I still don't have an ETA for VTemp 3 revision 2 but I've got some new code I need to try out.
Regarding LSAStudio, I'm not sure when the next release will be. I'm currently trying to get the bypass support all sorted out. I'm also hoping to add multi-channel audio support to it allowing you to record different inputs to different channels in a single file. No idea if that'll actually happen but I'll do what I can to try and get it working.
Speaking of MAB, no ETA for that either. I've not started work on it yet and I'm not even sure I will bring it back. I had considered it, but I've got a lot of projects to work on as it is and I'm expecting it to be a busy few weeks ahead.
With all that in mind, watch this space for future updates. It's sure to be a more productive for development in the next few months!
Good evening all!
Following on from the 0.1 release of LSA Studio yesterday, I've made a quite stunning breakthrough in general development. Many of the regulars will know that I use a framework known as 'Firemonkey' for software development. It allows me to create interactive and responsive interfaces as well as 'hybrid components'. It's also cross-platform compatible which means I can take my interfaces across to OSX, iOS and Android (and as always, on Windows). It's a great all-round framework and allows the freedom in design I value so much.
The downside is that because it's cross-platform, it sacrifices some of the features specific to Windows. For example, on Windows, there's a common feature known as 'Messages'. These are what they say they are - messages sent between Windows and software running on the computer. They're used for a great many things and are core to Windows. A good example is that they're used for hotkeys. Unfortunately, Firemonkey doesn't have support for messages, and there's no way to actually add support as a developer. It means our applications have to live as they are and find other equivalents to messages (the only alternatives are notoriously difficult to work with by comparison, don't work reliably, or are simply unsuitable).
VCL, another software framework, does have support for messages. VCL is in fact a Windows-only framework. It's one of the original frameworks that's been around since Windows was in it's infancy in the early 90's. It's continued to evolve with Windows. Unfortunately, it lacks the creative freedom of Firemonkey - there's no animation support by default, and it's aimed more at standard applications with 'boring grey interfaces'.
Earlier this evening, I discovered a development component that allows much more freedom. It's essentially a container that sits inside a VCL application but which allows you to display a Firemonkey form. What this means is that I can have support for messages and thus hotkeys while still having freedom in design. There's a few bugs with it, but having the full functional power of Windows running alongside the powerful UI's I can build with Firemonkey is a fantastic advancement. I can't honestly expect people to use LSA Studio without hotkey recording support.
While I'm on the subject, I'm looking at future options regarding recording and live preview. I want to add 'listen only' support for each input. Let me explain. In order to record audio, you need to have your inputs enabled. If you want to listen to it, you have to listen to every input as well - you can't, say, mute the microphone without it also being muted in the recording, thus using it as a passthrough only for certain channels while still recording isn't possible. I want to fix this in the future version. In fact, I'm likely to add a whole new tab to LSA where you can record all the inputs, but you only have passthrough support for some of them (so you can record game and voice audio while only having passthrough for the game audio). I'm also considering allowing multi-channel output support. This likely won't be true multi-channel support, it'll simply record each input to different files.
I also realized something yesterday - almost no games out there have 'audio output device' choice in settings. WoW and SC2 do for example, but out of 5 or so games I checked on Steam (including Payday 2, XCom:EU, Ace of Spades and Skyrim), not one of them allowed me to choose the output device within game. I even tried to find something manually in the config of XCom:EU but alas there's nothing. I then tried to find an application that'd allow me to set per-application audio output at a Windows level but was disappointed to return empty handed. This got me thinking - perhaps I could create something. I don't quite know the internals of Windows Core Audio and whether or not it'd be possible, but I'm definitely going to be looking into it. Surely it's not impossible. Surely there's a way of remedying this situation.
I'll research and see if I can come up with something. No promises, but it'd be a completely separate application if it is possible.
Good morning all!
I'm pleased to say that I've got a new project ready to show. This project has only taken a few days to put together and was really spur of the moment, but it's quickly reached the point where it can be called version 0.1. The project, known as LSAStudio, is designed with video editors in mind and it's specifically aimed at audio. It allows you to record from up to 2 inputs, apply various EQ and filter settings (e.g. low pass, high pass, amplifier), and output to up to 3 different audio outputs as well as to an MP3 file.
I got the idea after realizing that Shadowplay was limited in this area. For example, I wouldn't be able to listen to music while recording without it also being captured in the output. The idea is that you install a virtual sound device (using something such as the free VB-Audio Virtual Cable software/driver), redirect your game and 'aftermarket' audio there, and then set LSAStudio to record from there on input channel 0. You then set the other input channel to record from your microphone. You then apply your EQ and filters as appropriate, and enable some outputs (or just 1 output if that's your thing). This then allows you to listen to the game while recording, but without having your music captured in the recording (unless you set it to also output to the virtual device).
You can preview both the 'unedited' audio as well as the filtered and edited version in real time, just click the speaker icon in each area to toggle. You can even listen to both at the same time if you want.
There were a few problems I experienced while researching this. First of all, many virtual cables terminate their signal which means you can't listen to it effectively while recording, so you're essentially running blind. Secondly, fine tuning your voice against game audio volume is often frustrating to manage, and in the case of Shadowplay, it's simply not possible -- part of the problem is the simplicity of Shadowplay (which isn't necessarily a bad thing, it just doesn't allow much freedom for advanced users). Being able to preview the sound and set volume of mic and game independently and preview it in real time, with optional effects applied, means that it's no longer a problem.
These were the main reasons for me creating LSAStudio. There's no doubt existing solutions out there, but I wanted something simple and to the point. I didn't want something as encompassing as Audacity, I didn't want something unsuited for this specific task such as Dxtory, but I did want the option of solving the above problems. Adding EQ support and high and low pass filters was just the cherry on top that convinced me to build this project.
If you want to download it, it's now available in the Projects section below. It's taken the place of Heavy Sleeper as I've all but given up on that project. Please be aware this release is still an alpha. There's feedback support available, and as with VTemp 3, the feedback you submit goes directly to me via the API and I'll definitely take feedback on board for future versions.
I should mention that much of the core of LSAStudio uses the fantastic AudioLab components from Boian Mitov. Without these components, this project wouldn't exist. Boian is a man of genius and the components he provides are top notch. On the premise that he offers them free for non-commercial purposes and that I try to be a good guy about this sorta stuff, LSAStudio is free. You should all know me well enough by now to expect that anyway. Credit where credit is due, I'll definitely be looking what else I can make from the components he provides to see if I can bring you guys even more fantastic projects in the future!
Scott is extremely interested in software development, coding, and design. He has spent many late nights writing units and designing interfaces that could only be described as cutting edge. He continually strives to improve the interfaces he creates to allow more data to be shown in the same space without overcrowding. He started creating small applications back in 2005, but it wasn't until late 2011 that he started to focus those efforts and create modern software.
Since then, we can't seem to peel him away from his code.
Scott is an avid PC gamer and has been playing many different genres since around 2003 (though he's no stranger to the console games of the 90's). He's played racers, RPG's and tower defense' in the past but tends to stick with FPS and RTS these days. He enjoys single player, multiplayer, co-op, and even single player VS AI (such as in Starcraft 2). His playstyle is typically one of defensive-cover as opposed to offensive-pushing. However, he will adapt his style as appropriate.
Truthfully, he's not very good at games though.
Scott's lifestyle may be laid back, but he finds that even when he's had almost zero sleep in a night, he'll still be able to get through work and projects with a steady stream of Caffeine. VTemp? Caffeine did that. Boiled? Thank Caffeine for that. ThoughtCloud API? That was a week of Caffeine fueled coding. These cartoon images that Scott created? Yeah, Caffeine, a sharpie, some photo paper and a scanner. Oh, and Photoshop too.
And yet, he can't stand Coffee.