• Announcing DevStat

    Mar 21, 2014

    After working on Android applications, amongst other things, for the best part of 2 years now I've found that there are some things that can prove rather helpful when trying to make the design images look good on a variety of screens. Android lets you do this rather easily, but in dealing with assets intended to serve both iOS and Android applications you're likely to use the retina, @2x, versions. By sticking with just this size as much as possible you can reduce the application size significantly, rather than having multiple files for each asset in your project. But sometimes they can look a bit jagged if compressed too far by the OS. So you may need to find out what the device screen density is to put a new, sharper image in place.

    I created DevStat to quickly see a device's details. So far the following are the details that can be seen.

    Google play link

    Screen Metrics
    Width
    Height
    Display density
    Drawable density
    Screen size

    Software

    Android version
    SDK Int
    OpenGL ES version

    Hardware

    Memory class
    Large memory class
    Maximum memory
    Free space
    Vibrator presence
    Telephony
    Autofocus availability


    The project is available on Github
    Feel free to add features if you like! I intend to add information relating to:

    • Camera(s)
    • GPS
    This was partly an exercise to see the functionality of the support action bar compatibility and to try a more pure gradle build script rather than adding gradle to a legacy project. I've not had a chance to test it on pre-4.0 devices, but it should hopefully work.

  • Getting used to PC gaming

    Apr 4, 2013

    I've grown up playing video games. Managing to get a PSOne the Christmas they came out from Game, then called Games Boutique, I was playing Colin McCrae Rally and Crash Bandicoot 3 for hours. Never being particularly amazing at them I enjoyed it all the same. Any time I could join my friend when he was down from London on his N64 playing Goldeneye I'd be round there pretty much all day solid. I even used to spend hours playing everyone's favourite 'game' as a kid - Microsoft Paint. I seem to remember us having a couple of games on the PC but I have no idea where they came from or how to actually launch them, understandably so, as they were Doom and Duke Nukem 3D and I was probably 8 at the time. Though, at some points I did find how to play them, then either forgot or the launch passwords were changed so that I couldn't do that any more.

    A console is far cheaper than a fully fledged PC, with decent quality peripherals, their lives aren't too short either, looking at the Xbox 360, which was released in November 2005 and it's still very much going strong today, however. It's far behind modern PCs. Even though developers have been pushing hard to eek out as much power and performance that they can with the systems, be it through optimisations or sneaky short cuts they've managed to really do the system justice. However, arguably it has held the quality of graphics back on the PC as games are developed for both PC and console release, while generally PC graphics quality is better, it's not always the best that the hardware is capable of due to the need to support the lower powered consoles.

    Controls are what really set the two gaming machine types apart from one another. The way that we use consoles nowadays, though changing, is predominantly through game pads. PC games have increasing support for gamepads, such as the Microsoft Xbox 360 controller, but most games and gamers tend towards mouse and keyboard for specific types of games, for example RTS or FPS.  I found this particularly difficult to get used to coming from gamepads where everything is in easy reach and they're ergonomically designed. Chiefly the difficulty has been aiming in FPS, the movement and action buttons have been rather quick to pick up, but the level of precision and speed made available through the use of a gaming mouse far outstrips the levels through a gamepad, where the only way to achieve something close is to ramp up the sensitivity to almost maximum. From experience with playing with friends PC gamers may sometimes struggle with the aiming and movement through the use of a controller.

    Consoles aren't just about playing games any more. They're the hub of entertainment from the home, you can sit on your sofa, and now talk to your Xbox through kinect or use a wireless controller to choose what to watch on On Demand TV, Netflix, and a wide variety of other services, including music streaming. The Kinect can add a party-like atmosphere and so can other games like Rock band or dancing games. The PC still seems to me to be a solitary entertainment source. Despite being able to chat more easily via typing, or by using voice chat, it's still not comparable to having someone playing the same game with you whilst they're in the same room.

  • Open sourcing my projects

    Feb 22, 2013

    I just thought that I'd share with you the fact that my Github education discount has now almost run out, as a result I would have to pay to keep my repositories private, or migrate them somewhere else. I've made the decision that instead of either of these as I haven't made any progress on them to the amount that I thought I might I'm opening them up for people to see. These include my Final Year Project, TeachReach, and the work I did for the University of Reading as a student during the summer for gathering survey results for the effectiveness of Keyphrase analysis algorithms. The resulting work has since been published in this Paper.

    TeachReach is what I decided to call my final year project during the time I was working on it as it was a little nicer than always referring to it as my FYP. I did make a start on a fresh version of it as I realised that I was not following correct practices for a rather large portion of it. Since starting work at Conjure I've furthered my experience in Ruby on Rails, and the Android platform. Once I find the time and motivation I hope to turn TeachReach into something a bit more real, possibly hosting it on Heroku to see how it all pans out. The brunt of the work for the Final Year Project was designing the system. The actual implementation that I achieved was not quite to the standard I would want for a public release, so I hope to better this, and it should hopefully be relatively quick to make now that the harder work is already finished.

  • How Social is Social Media?

    Feb 13, 2013

    In my opinion and in the conventional sense, not very. More and more often I see groups of friends together, sitting staring at their phones to see who else has written on their wall, re-posted a picture, who's going out with who, and what their friends had for dinner last night. This is what I'd consider anti-social in the traditional way. They're physically with other people, they should probably be talking to them and documenting their own lives if that's how they roll. If people take pictures, but don't bother uploading them till later they'll still be the same as if they hadn't spent the time thinking of a caption and tagging the people in it, but they could spend more time with their friends in our increasingly busy lives. The idea behind social media is great. But a few usages of it ruin my experience a little.

    I fail to see where being 'social' can be achieved by sitting in a dimly lit room staring at pictures of the people we fancy and liking or retweeting statuses. Don't get me wrong, I'll do that, but I won't feel particularly social while I do it. Much of what comes up in my Facebook news feed I don't care about. Nor am I about to play a game through Facebook because someone's been tricked into inviting everyone on their friends list to join them on a particular game, just so that the developer can have the chance of earning more money through in-game purchases, or through advertising.

    Social media also introduces the ability to be incredibly rude and ignore other people's interactions with them. If you did this in person you'd lose friends pretty damn quickly, you'd become ostracised from your circle of friends and need to start over. It's not like real life where you may not hear someone talking to you, it's written there. You probably got a notification about it too - whether it's convenient or not. But I'm not personally ruled by these notifications. I'll happily take my time to finish whatever it is I'm doing until I can take the time and respond properly. Phone calls are another matter, that's definitely something I'm more likely to answer straight away. I'll use phone calls myself for when I don't really want to wait for an answer. I don't see texting as immediate either, but it's pretty difficult to ignore someone on the other end of a phone.

    It has the power to make you angry with ease. The "like whoring" on Facebook is a prime example of this. Apparently I support *insert ridiculous statement here* if I ignore a really old picture of something bad, but if I like the picture I'm against it. This is ridiculous for a few reasons. Assuming I support something just because I don't want to click a button is lame. Liking an image of something bad, is surely bad in and of itself. It's more akin to declaring that you support what's happened to whatever in the picture. E.g. a person who's been beaten up. This sparks conversation, which it arguably should, but it's not one that I want to participate in. Whilst it may raise awareness of an issue, doing this in itself I have nothing against the practice of, however, I disagree with the methods used to achieve this.

    As my friend Dan said, "Twitter is the equivalent of standing at the top of a hill and shouting". While not strictly true it sure seems to be the use some people, and companies, have for it. Particularly large companies, which use it as a broadcast method, rather than interacting with their followers and responding to negativity and positivity in a productive way.

    It may gradually become more socially acceptable to spend time in a social situation to update your social media accounts. I'm interested to see other people's opinions. This has mostly been about Twitter and Facebook, because those are the ones I use the most. But what about others? Do people update those when they're out as often?