Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts
Saturday, 1 November 2014
Shuffleboard King: Your New Must-Have Android Game
Well, here it is, the efforts of the past few months which I've given the catchy name: Shuffleboard King.
I'll probably regret this in the morning but I've now released my first game onto the Play Store (hopefully, it should appear here in the coming hours). I might have delayed more but I'm mentally and physically exhausted and this is a somewhat daunting moment and I just wanted out of the way so I can move on and improve the game.
What is Shuffleboard King? Well, it's the version of shuffleboard I wanted to make for myself and for my friends who regularly play shuffleboard on their tablets. The problem with current shuffleboard games is that they feel quite artificial to play. Their physics tend to feel and look quite scripted in that you throw a puck and the damn thing flies out of your hand in a perfect straight line. Even the best shuffleboard game out there feels like the computer is playing the game for you.
So, I thought I'd try to make a shuffleboard game myself and this is the result.
I'd like to say it was 'easy' but, in truth, there are many hundreds of hours of work in this and it's probably thousands of hours if I take into account the many months before I started, just to learn Unity and all the other packages I used in this game's creation.
The part I'm most proud about, I guess, is the version of Sjoelen included in the game.
I nearly released this a few weeks ago but at the last moment, I discovered Dutch Shuffle (called Sjoelen on the continent). I watched a few videos and got hooked on the gameplay. I also realised that I could add my own Sjoelen mode to Shuffleboard Kings using the code I'd already written and, an extra month of work later, I'd expanded my original three game modes to include a fourth.
Those 4 games are the traditional shuffleboard, Sjoelden (Dutch Shuffle), as well as two games of my own creation: Angleboard and Crossboard, which do pretty much as described. On Angleboard, you bounce your shuffle off a rail so you have to play around a 90 degree bend in the table . In Crossboard, you can throw your puck from one of four sides toward a target in the centre of the table.
There's a tournament mode, in which you play opponents who are increasingly difficult to beat. There's also a challenge mode in which you have to beat 50+ challenges, such as throwing the winning puck on a board already dominated by your opponent.
I know there'll be bugs, typos, and probably even the occasional glitch. Some I can't fix but are part of the Unity engine. Others, I'll work hard to eradicate in the coming months, should enough people actually play the game.
I hope you will take a chance and play the game and perhaps, if you do, you could tell me what you think in kind, even patronising, words.
Friday, 6 June 2014
Billy Bragg: The Video Game Hero
It feels like I've been building this game for months but I discovered today that tomorrow will mark eleven weeks. As far as development times go, that’s nothing. For me, it’s been eleven hard weeks of learning something entirely new and working long long nights. And it does, finally, feel like I’m nearing the end.
The past few days has been about adding a few aesthetic effects and balancing levels so challenges are neither too easy nor impossibly hard. Last night, I had one of my most important breakthroughs: I managed to integrate interstitial advertising into the game. It’s a horrible business, inserting these ugly ads into something you work so hard to get looking good but it’s the ugly reality of this business. Nobody is willing to pay for anything and advertising is the only way I’ll ever make any money from this terribly doomed project.
I’m also tidying up some of my animations, which look okay, though sometimes just plain rough. A better example of my animations (and, yes, this is the ‘good’ stuff!) is my Billy Bragg character (above), who features as one of the game’s heroes or antagonists, depending on which side of the political spectrum you fall. The game, as I think I’ve mentioned, is broadly satirical and Bragg acts as a nemesis to the game’s chief protagonist along with other celebs and politicos ranging from Stewart Lee to the Mayor of London.
I’m posting this Bragg video today because I like to prove that I’m not idle and because it links conveniently into a brief ramble about the most depressing thing I’ve heard in a long time.
Billy Bragg has confessed (perhaps tongue in angora bearded cheek) that ‘the internet has changed my songwriting by taking up all the time I used to spend writing songs’. He was talking on the today’s excellent Guardian feature, ‘Seven Digital Deadly Sins’, where he proceed to suggest that he spends most of his days watching a variety of people falling down holes.
I’m sure Bragg was playing up to the camera. At least, I hope to hell he was playing up to the camera. If not, then I’ll take my ticket now and catch the next bus off this lousy planet.
If the dimternet has tamed Bragg then what hope the rest of us? Had George Orwell been around today, would he be spending his time watching ‘Charlie Bit My Finger’ (a video, I’m happy to say, that I’ve never seen) rather than writing ‘1984’? Or would he, as I’d hope, be among the few of us who are genuinely trying to cut ourselves off from the online world or, at least, merely use the medium without it robbing us of our lives and souls. I’ve written before that social media is the soma of this generation and nothing has changed to make me question that. I don’t think I’m simply being reactionary to say that we are losing strength in our mental limbs and we must do everything in our power to retain focus on the things that matter. Social media boasts about ‘ease’ and ‘speed’ and its integration into our lives but I fail to see how that’s a good thing. It’s why I find Bragg’s confession so depressing. He’s spent his life talking about activism yet it’s left to Bill Bailey’s contribution to the debate to point out how political engagement has changed with social media. Politics has become a trivial and, frankly, no so interesting meme in a greater world of hamster videos and fat people falling over.
That’s not to say that I don’t appreciate the power of a good one liner, wit squeezed into 140 characters, but there is also a place for length, pace, argument, and complexity. In a separate piece yesterday, Will Self (who also, incidentally appears as one of the 'good guys' in my game), recommended books for teenagers based on their length. He’s right, of course, but that doesn’t make it any less depressing. Explore the places of difficulty in your life. It’s where you always discover the most fascinating revelations.
I suppose I’m as much a victim of this change as anybody. Friends shake their heads slowly, clearly thinking I’m a fool because I don’t get involved in social media. I’ve certainly made decisions I’ve regretted. I always thought my book by Stan Madeley (the UK’s top Richard Madeley lookalike ) would have been more popular than it was. The fact I didn’t engage in social media and publicity was plain stupidity on my behalf. Yet I’m stubborn when it comes to my convictions. Bragg is probably right when he concludes by saying that ‘everybody wants to be famous, nobody wants to be scrutinised’. That’s the world where people are more interested in celebrities for their celebrity rather than anything they actually do.
I genuinely can’t see the attraction of fame. Scrutiny sounds far more interesting. I’d rather be disliked by a few than loved by millions. I’d rather be Will Self than Katie Perry, Billy Bragg rather than Stephen Fry. Social media is made for the latter, which makes it sad when I see it embraced by the former.
This is a ramble but I’m tired and I suppose it’s when I’m tired that I can see that my Android game is only going to be another expression of my stubborn unwillingness to join the throng. Only I could make a game that skips merrily past the mainstream and attempt to attract a very small minority. I only hope just a few people will smile and appreciate that I’ve tried something a little different. I’m hopeful, for example, that it will be the only video game featuring Billy Bragg.
Naturally, he won’t be singing but, so far, neither will I. The game looks pretty good but it still lacks music. I’m still attempting to finish recording my closing satirical song, though getting a quality track is killing me. I’ve fingerpicked a pretty good acoustic guitar pattern and even if my £12 USB microphone isn’t exactly studio quality, it’s not entirely bad. My singing remains the problem. I can’t decide if it’s a problem of my accent (I sound terribly northern) or simply a weak voice. I’ve been recording multiple versions in different registers so I can stack my vocals. Oddly, I think I probably sound less bad singing as a group than I do singing alone but I’m finding it difficult to mix them into anything reasonably listenable. Ideally, I’d like to just record myself singing over the guitar but one mike and a bad voice don’t make for a good combination.
But that’s another ramble for another day and I must go and make this blog post available on social media. [sarcasm=true; walks_off = “chuckling maliciously”;]
Saturday, 15 March 2014
Programming Android: Three Weeks On
As much as I hate to admit it, I think I’ve finished my app. It’s a proper monstrosity of bad design, hastily drawn graphics and butchered code but in the space of less than a month I’ve gone from not knowing a thing about the Android SDK to being in the final stages of testing a functioning app that does everything I originally intended plus a little bit more. Three weeks ago I began this adventure by thinking: I wish I could find an app that does X,Y, and Z. Now I have an app that does X,Y, and quite a bit of the Z and it has probably saved me 69p had this app originally existed in the Play Store.
I can’t say that it’s been an easy three weeks and I’m not sure I would have liked to have attempted this without some programming experience. Yet, had I been learning from scratch, I’m not sure Android is the worst place to begin to learning to program. It’s certainly a friendlier developing environment than some I used when I started out many years ago. I remember the misery of coding on an old Vax in a cold university basement room when we all had to wear mittens to stop our fingers from freezing. And people wonder why it’s taken me so long to come back to software engineering…
Although I’m not exactly a new code monkey, I began not really knowing much Java and I’m not entirely comfortable with it now since it’s clearly a language that’s easy to learn but difficult to master. At a few points, I wanted to add features which just proved beyond my skillset. One required me to catch, buffer and then process MotionEvents (the data generated when the user touches the screen) but it led to a wasted two days and my utter defeat. Perhaps I’ll try again with my next app...
Things I know now but wish I’d known back then:
Except for those really ambitious things that were just beyond me, I can’t say anything has been unbelievably difficult. The problem now it to stop myself from adding more features. I’ve got my widget working and I think that was the last big addition I’ll make. In the last two days, I’ve added a ton of new functions. I’ve even done the unspectacular work of programming the settings page so that the app remembers the user’s preferences and adjusts the internal workings accordingly. In a way, this part has pleased me the most since I’ve tried to make the whole thing flexible so anybody can use the app as they see fit. It needn’t be used for the purposes I intended, which is probably good because I’m not sure anybody would want to use it for the purposes I intended.
The next stage is when things get difficult. I have to test the app and make sure that it runs on devices that have different sized screens. Device fragmentation is probably the worst thing about programming for Android. There are so many devices out there with completely different capabilities and hardware. The chance that this app will run on all of them is slim to zero. However, I want to be sure that it can be used on the majority of current Android devices and that means either getting my hands on a range of test devices (impossible) or using an Android emulator on my PC.
And that’s where I have a problem…
The Android emulator that comes with the Android Development Kit runs really slowly. However, you can install an Android kernel that’s built with Intel code. If you have an Intel based PC, the Android emulator runs pretty quickly and you can run it in a variety of configurations so you effectively have every type of Android machine at your fingertips. Want to emulate a small phone running an earlier version of Android? You just run the emulator with all the settings turned down and you get to see what you app looks like running on a low spec phone. You see a problem and jump straight back into the code to fix it. It’s a great way to test and bugfix your app if you have an Intel based machine.
Only, I don’t have an Intel based machine. My PC has an AMD Phenon II X6 and it completely incapable of emulating Android via the Intel kernel. There is one emulator called Bluestacks available for AMD machines but, as far as I know, it’s not customizable, which means it’s pretty useless for my purposes. There is an online Android emulator which can be set up to emulate different devices but I can’t say that it runs particularly quickly and I know I don’t intend to spend money testing an app which will never earn me a penny.
It means I’ll either have to beg to borrow a friend’s PC or be happy just to test the app on my Samsung Note 10.1 (2014) edition running Jelly Bean and my old Galaxy S2 running Android 4.1.2. I have no idea what it would look like on a seven or eight inch tablet or how it might run on a bigger tablet even a year old. Ideally, I should buy a really cheap 7 inch Android tablet, such as the Tesco hudl, but it’s an expensive way to test compatibility.
Meanwhile, sometime this week, I hope to figure out how to upload my app to the Google store or I might not even bother. My app will never be the next Flappy Bird and given it might only be downloaded five or six times, I might simply stick the finished app on this site for anybody to try, if that sort of thing interests you. If it doesn’t, I’ll probably be back to cartooning and moaning about The Guardian ignoring my submissions until I come up with my next ridiculous plan.
I can’t say that it’s been an easy three weeks and I’m not sure I would have liked to have attempted this without some programming experience. Yet, had I been learning from scratch, I’m not sure Android is the worst place to begin to learning to program. It’s certainly a friendlier developing environment than some I used when I started out many years ago. I remember the misery of coding on an old Vax in a cold university basement room when we all had to wear mittens to stop our fingers from freezing. And people wonder why it’s taken me so long to come back to software engineering…
Although I’m not exactly a new code monkey, I began not really knowing much Java and I’m not entirely comfortable with it now since it’s clearly a language that’s easy to learn but difficult to master. At a few points, I wanted to add features which just proved beyond my skillset. One required me to catch, buffer and then process MotionEvents (the data generated when the user touches the screen) but it led to a wasted two days and my utter defeat. Perhaps I’ll try again with my next app...
Things I know now but wish I’d known back then:
- It’s easy to use transparent PNG graphics inside a SurfaceView so long as you clear your bitmaps with the eraseColor(android.graphics.Color.TRANSPARENT) instead of filling your bitmap with white. Took me three days to figure that out.
- The word ‘Activity’ in Android is almost synonymous with screen or process. Think of each functioning element in your program as individual Activities. So, if you’re making a database program, you could have an activity for the screen where you add records and another activity for the screen for modifying records. If it’s a game: one activity for the main menu, another for settings, one for the high score table, and another for the main game itself…
- Learn about ‘context’. I think it’s the single most confusing and difficult element of the Android API. I’m not entirely sure what it is myself and I’m still not entirely sure how to ‘get’ it from different points in the code.
- Learn to nest layouts right at the start. Setting up screens is a nightmare until you understand that you can, for example, drag a horizontal layout onto the screen and embed elements inside that. That layout can then be dragged into a vertical layout, making it really easy to arrange elements both vertically and horizontally on the screen.
- Don’t go looking for ‘file open’ dialogs. They don’t exist natively in Android and, to be honest, I’m not entirely sure they are needed. It’s really easy to throw data out to other apps, such as email, Evernote and Dropbox.
- Be quite liberal debugging with Log.d(“Activity1”, “Loop7”). As your app runs, it throws up messages to a console on your PC so you can track the code and see where it stops, throws errors or is trapped in loops.
- Saving preferences inside your app is unbelievably easy with the SharedPreferences object.
Except for those really ambitious things that were just beyond me, I can’t say anything has been unbelievably difficult. The problem now it to stop myself from adding more features. I’ve got my widget working and I think that was the last big addition I’ll make. In the last two days, I’ve added a ton of new functions. I’ve even done the unspectacular work of programming the settings page so that the app remembers the user’s preferences and adjusts the internal workings accordingly. In a way, this part has pleased me the most since I’ve tried to make the whole thing flexible so anybody can use the app as they see fit. It needn’t be used for the purposes I intended, which is probably good because I’m not sure anybody would want to use it for the purposes I intended.
The next stage is when things get difficult. I have to test the app and make sure that it runs on devices that have different sized screens. Device fragmentation is probably the worst thing about programming for Android. There are so many devices out there with completely different capabilities and hardware. The chance that this app will run on all of them is slim to zero. However, I want to be sure that it can be used on the majority of current Android devices and that means either getting my hands on a range of test devices (impossible) or using an Android emulator on my PC.
And that’s where I have a problem…
The Android emulator that comes with the Android Development Kit runs really slowly. However, you can install an Android kernel that’s built with Intel code. If you have an Intel based PC, the Android emulator runs pretty quickly and you can run it in a variety of configurations so you effectively have every type of Android machine at your fingertips. Want to emulate a small phone running an earlier version of Android? You just run the emulator with all the settings turned down and you get to see what you app looks like running on a low spec phone. You see a problem and jump straight back into the code to fix it. It’s a great way to test and bugfix your app if you have an Intel based machine.
Only, I don’t have an Intel based machine. My PC has an AMD Phenon II X6 and it completely incapable of emulating Android via the Intel kernel. There is one emulator called Bluestacks available for AMD machines but, as far as I know, it’s not customizable, which means it’s pretty useless for my purposes. There is an online Android emulator which can be set up to emulate different devices but I can’t say that it runs particularly quickly and I know I don’t intend to spend money testing an app which will never earn me a penny.
It means I’ll either have to beg to borrow a friend’s PC or be happy just to test the app on my Samsung Note 10.1 (2014) edition running Jelly Bean and my old Galaxy S2 running Android 4.1.2. I have no idea what it would look like on a seven or eight inch tablet or how it might run on a bigger tablet even a year old. Ideally, I should buy a really cheap 7 inch Android tablet, such as the Tesco hudl, but it’s an expensive way to test compatibility.
Meanwhile, sometime this week, I hope to figure out how to upload my app to the Google store or I might not even bother. My app will never be the next Flappy Bird and given it might only be downloaded five or six times, I might simply stick the finished app on this site for anybody to try, if that sort of thing interests you. If it doesn’t, I’ll probably be back to cartooning and moaning about The Guardian ignoring my submissions until I come up with my next ridiculous plan.
Friday, 21 February 2014
Android Programming: Day 2... (Yes, this blog post is really going to be that exciting!)
Sadly, there’s been no word from Joleen, she of the big boobs and even bigger butt, but I have managed to create a SQL database inside Android, so you needn’t be too downhearted.
[Counts to three before he opens his eyes and looks to see who’s left in the room…]
If you’re still reading, it means you’re one of the better few who are less interested in pornographic internet SPAM and more interested in a misguided dabbler’s attempts to wrap his brain around Javascript. How easy is it to develop an app to run in Android, you ask? I’d say surprisingly easy, though the Android SDK running on Eclipse does create a functioning ‘Hello world’ App for your as soon as you install it. So in that sense: it’s very easy. In some ways, it’s actually easier than developing software for the PC, especially if you have an Android device plugged into your machine. The updated app code runs straight on the device so you get fewer of those ‘bugger, I’ve just crashed my PC’ moments you get when developing things for the PC.
I started this little ‘project’ about two days ago and I already have an app which does quite a bit more than say ‘Hello world’ and it’s running on my old Android phone which has become my unofficial test bed. I also have it running on my tablet but since I use that almost constantly, it’s not as easy to keep it plugged into the PC and it won’t be until my new ultra-cheap-but-long micro-usb cables arrive from China.
I don’t exactly know why I’m writing an app except the other day I was searching for something to do a specific task related to my cartooning. Not being able to find anything suitable on the Play Store, I began to wonder how difficult it would be to simply write it myself. I used to program databases after I did my computer degree – which, I should add, taught me next to nothing about programming – and before that I’d been a complete computer junkie making simple games with even simpler graphics. Every meaningful thing I’ve ever known about programming has been self-taught yet I’ve never truly taken the time to learn Object Orientated programming and what little I know about Javascript is based on my somewhat limited knowledge of C. I am an old school programmer completely out of his depth with newer code. In the past, I’ve often written simple things to run inside a web browser, to change the various random phases on this blog, for example, but I’ve always wanted to know how to develop a proper app. My cartooning hasn’t been going so well – no bugger seems to ever like anything I draw – and my writing is at a standstill given that the agent still hasn’t replied yet it’s probably a little too soon to send the book elsewhere. My enthusiasm for blogging is also at a new low and my ‘real’ work is just destroying my will to live. What better time to add another string to my bow?
The last couple of days have been about information overload and absorbing as much as I can. I’ve been selectively reading chunks from different huge tomes on Javascript written by clever people who don’t know how to write. That’s not to say that they’re incapable of writing but they’re incapable of writing for the audience to which the book has been marketed. The best I’ve found so far is ‘Android Apps for Absolute Beginners’ by Wallace Jackson, which has become my new Bible and I’ve read from cover to cover. Last night I also attempted Jeff “JavaJeff” Friesen’s ‘Learn Java for Android Developers’, which I thought I didn’t necessarily need but hoped it might help me remember the stuff I’ve long forgotten. About half way through an early chapter, I fell asleep and woke up to realise that I didn’t have a clue what he was talking about. Only a few pages earlier, I’d been told how to declare a variable and then I was suddenly deep into the murky territory of inheritance, polymorphism, and upcasting.
Sometimes clever folk need somebody a lot less clever to put a hand on their shoulder when they get excited and ask them to rephrase that for people without a doctorate in abstract logic. Of course, the fault might well be my own. I’m a terrible student since I never attempt the examples they write in the course of these books. I always want to get to the meat of the business. I get frustrated having to read five pages about how to change the colour of text, which is the sort of thing I tend to figure out quite easily. More difficult for me was learning how to open new screens from the main screen. It was obvious in the end but it was the kind of top down structural approach to software development I really needed at the beginning. Had they said that an Android app is made up of many ‘Activities’ which are essentially concurrent and each declared in their own file, I might have had a better idea of what I was doing.
I don’t think learning things my way is necessarily bad. It forces me to have an active knowledge of real programming rather than the kind of passive knowledge you get by simply reading other people’s code. I believe writing is best learnt by writing and speaking a language best learnt by speaking a language. Programming is best learnt by getting the hardware to do what you want it to do. My app might not break any records and surprise people with its originality but it will do what I want it to do and that’s a better achievement than simply producing the same code as you could have downloaded from your tutor’s website.
At this point, my ‘App’ is like some kind of Texas Chainsaw hillbilly with pieces chopped from different places and stitched together. Yet it actually does what I wanted and I’m delighted it works. I only have one functioning button, a menu system which deletes the database and then restores it by reading in data from text files, and my Settings page only reports things about the database just to assure me that the database actually exists. I wasted three hours yesterday trying to figure out why my database wasn’t being created only to later discover that my database existed and was fully populated with fake data but my ‘checkDbExists’ routine was flawed.
Christ… Does anybody find this kind of rambling blog post interesting? I’m not bright enough to actually write a meaning post about Android programming but I’m too dumb to realise I should just shut up and get back to it.
Today I’d like to figure out how to open a file selection dialog to import and export data. Later, I’d like to allow them to modify records and then start extending the functionality to the actually things I’ll hopefully find useful.
[Counts to three before he opens his eyes and looks to see who’s left in the room…]
If you’re still reading, it means you’re one of the better few who are less interested in pornographic internet SPAM and more interested in a misguided dabbler’s attempts to wrap his brain around Javascript. How easy is it to develop an app to run in Android, you ask? I’d say surprisingly easy, though the Android SDK running on Eclipse does create a functioning ‘Hello world’ App for your as soon as you install it. So in that sense: it’s very easy. In some ways, it’s actually easier than developing software for the PC, especially if you have an Android device plugged into your machine. The updated app code runs straight on the device so you get fewer of those ‘bugger, I’ve just crashed my PC’ moments you get when developing things for the PC.
I started this little ‘project’ about two days ago and I already have an app which does quite a bit more than say ‘Hello world’ and it’s running on my old Android phone which has become my unofficial test bed. I also have it running on my tablet but since I use that almost constantly, it’s not as easy to keep it plugged into the PC and it won’t be until my new ultra-cheap-but-long micro-usb cables arrive from China.
I don’t exactly know why I’m writing an app except the other day I was searching for something to do a specific task related to my cartooning. Not being able to find anything suitable on the Play Store, I began to wonder how difficult it would be to simply write it myself. I used to program databases after I did my computer degree – which, I should add, taught me next to nothing about programming – and before that I’d been a complete computer junkie making simple games with even simpler graphics. Every meaningful thing I’ve ever known about programming has been self-taught yet I’ve never truly taken the time to learn Object Orientated programming and what little I know about Javascript is based on my somewhat limited knowledge of C. I am an old school programmer completely out of his depth with newer code. In the past, I’ve often written simple things to run inside a web browser, to change the various random phases on this blog, for example, but I’ve always wanted to know how to develop a proper app. My cartooning hasn’t been going so well – no bugger seems to ever like anything I draw – and my writing is at a standstill given that the agent still hasn’t replied yet it’s probably a little too soon to send the book elsewhere. My enthusiasm for blogging is also at a new low and my ‘real’ work is just destroying my will to live. What better time to add another string to my bow?
The last couple of days have been about information overload and absorbing as much as I can. I’ve been selectively reading chunks from different huge tomes on Javascript written by clever people who don’t know how to write. That’s not to say that they’re incapable of writing but they’re incapable of writing for the audience to which the book has been marketed. The best I’ve found so far is ‘Android Apps for Absolute Beginners’ by Wallace Jackson, which has become my new Bible and I’ve read from cover to cover. Last night I also attempted Jeff “JavaJeff” Friesen’s ‘Learn Java for Android Developers’, which I thought I didn’t necessarily need but hoped it might help me remember the stuff I’ve long forgotten. About half way through an early chapter, I fell asleep and woke up to realise that I didn’t have a clue what he was talking about. Only a few pages earlier, I’d been told how to declare a variable and then I was suddenly deep into the murky territory of inheritance, polymorphism, and upcasting.
Following the cast, the contract’s reflexivity, symmetry, and transitivity requirements are met by only allowing Points to be compared with other Points, via expression p.x == x && p.y == y.
Sometimes clever folk need somebody a lot less clever to put a hand on their shoulder when they get excited and ask them to rephrase that for people without a doctorate in abstract logic. Of course, the fault might well be my own. I’m a terrible student since I never attempt the examples they write in the course of these books. I always want to get to the meat of the business. I get frustrated having to read five pages about how to change the colour of text, which is the sort of thing I tend to figure out quite easily. More difficult for me was learning how to open new screens from the main screen. It was obvious in the end but it was the kind of top down structural approach to software development I really needed at the beginning. Had they said that an Android app is made up of many ‘Activities’ which are essentially concurrent and each declared in their own file, I might have had a better idea of what I was doing.
I don’t think learning things my way is necessarily bad. It forces me to have an active knowledge of real programming rather than the kind of passive knowledge you get by simply reading other people’s code. I believe writing is best learnt by writing and speaking a language best learnt by speaking a language. Programming is best learnt by getting the hardware to do what you want it to do. My app might not break any records and surprise people with its originality but it will do what I want it to do and that’s a better achievement than simply producing the same code as you could have downloaded from your tutor’s website.
At this point, my ‘App’ is like some kind of Texas Chainsaw hillbilly with pieces chopped from different places and stitched together. Yet it actually does what I wanted and I’m delighted it works. I only have one functioning button, a menu system which deletes the database and then restores it by reading in data from text files, and my Settings page only reports things about the database just to assure me that the database actually exists. I wasted three hours yesterday trying to figure out why my database wasn’t being created only to later discover that my database existed and was fully populated with fake data but my ‘checkDbExists’ routine was flawed.
Christ… Does anybody find this kind of rambling blog post interesting? I’m not bright enough to actually write a meaning post about Android programming but I’m too dumb to realise I should just shut up and get back to it.
Today I’d like to figure out how to open a file selection dialog to import and export data. Later, I’d like to allow them to modify records and then start extending the functionality to the actually things I’ll hopefully find useful.
Tuesday, 1 October 2013
So I Bought A Samsung Note 10.1 (2013 Edition)
I posted the previous cartoon because it was something special to me. It was the first cartoon I’ve ever drawn on a Samsung Note 10.1 tablet.
Yes, I know I said I wouldn’t… I’m clearly a fool but isn’t that half my charm? Samsung didn’t respond to the letter, cartoon, and free book I sent to Ines van Gennip, their Marketing Director, by way of begging for a 2014 tablet to review. In fact, they didn’t respond at all. It meant that my resolve had to be stronger not to buy one of the new Notes. The price (reported to be £479) ensured that was easy to do. Less easy was avoiding the relatively cheap 2013 edition tablets which are available right now.

My resolve cracked yesterday when I jumped on a train into Manchester. I went for the silver version, which is actually a rather tasteful grey and looks much better than the white versions which, for inexplicable reasons, are usually the models you see on display in most shops. Since then, it’s been a crash course in Android and its apps. It also feels strange summarising my thoughts about an already outdated product.
There are plenty of reviews out there for anybody wanting to know about the old Note, so I’m not going to get into all that technical jargon or explain where the ports are. I did, however, indulge myself by buying a high-speed 64gb microsd card which I slipped into the slot on the top edge to expand the tablet’s storage from 16gb. The two types of memory aren’t equal, with anything stored on the internal chips accessed much more quickly. So, for my purposes, the 64gb will be taken up with music, images, and writing. As much as I can, I’ll try to reserve the limited 16gb for installed applications.
I primarily bought this machine because I want to draw cartoons when I’m not sitting at my desk. I also wanted to be able to browse the web, update this blog, and check my emails without my tablet crashing (something my inherited first generation iPad was doing all the time). If I could play the occasional game, that would be a positive, though I’m not going to talk about my sudden obsession with ‘Simpsons Tapped Out’, ‘Bridge Constructor’ or the totally wrong-yet-wonderful ‘Zombie Gunship’.
I’m not even going to dwell on the things that the 2014 tablet might do better. Of course, I would have loved that extra gigabyte of memory, that screen with twice the resolution of this. But neither of those things impact hugely on what I’d write in this review. Not that it’s even a review, rather the opinions of a scribbler on a very limited budget who has bought and used technology for more years than he’d like to admit and is generally hard to impress when it comes to technology.
That much said: this Note 10.1 has impressed me like no other technology I’ve ever owned. As I sit here, I’m trying to remember the last bit of technology that impressed me this much but it’s a struggle. This is the first time I’ve bought something that felt like the technology lived up to the ambitions of the designers.

And that’s the thing with the Note. This tablet is so easy to use and unbelievably useful. It just does what I ask of it. There’s no fussing around with cables, finding the right software to make a file transfer happen. No need to use iBloodyTunes. There’s little ‘I’m still setting it up’ involved. I turned it on, entered my wifi password, and the rest was straightforward. If I want to transfer bulk files, there is a cable. In fact, the cable is one of the few complaints I have. It’s too damn short and is unique to Samsung when I’d have preferred something in the USB family. However, my complaint about the wide plug noted, the other plug is standard USB and goes straight into my PC, a standard file explorer window opens and I can drag my files where they needed to go. Incidentally, this is the first device with Bluetooth that actually connects to everything I own. Even my Apple keyboard which was always a bit of a struggle to get connected to my iPad connects first time.
I’ve had a limited chance to play with it but iPad owning friends are already looking enviously over my shoulder. That’s down, in part, to Android and the ability to use widgets on top of Live wallpaper. Android Jelly Bean just looks and feels better than Apple’s offering. Of course, personalisation can also be a euphemism for ‘clutter’ and my screen is already suffering from a bit of that. However, that clutter reflects my personality and I already feel like the tablet already reflects who I am, not how Apple want me to be. Where Apple’s iOS is simple to use and has a narrow range of options, Android’s possibilities seem to multiply the more you learn to use it.
Of course, the Note is more than Android. It’s also the S-Pen.
If you’ve used one of those capacitive screens such as you find on the iPad, you’ll know that it’s impossible to achieve any degree of accuracy with your finger. There are always some geniuses who can produce stunning work with them but I always found it next to useless for drawing. There are so-called styluses you can buy with rubber ends but even these don’t improve matters. That’s where the Note has a huge advantage.
Although it can also be controlled with your finger, the Note (along with the Pro version of Microsoft’s Surface) uses a Wacom stylus which captures very fine movements of the pen’s nib. Wacom have also brought out their own tablets, through they’re prohibitively expensive. An additional advantage of the Wacom stylus is that it also measures how heavy you press on the screen, meaning that drawing on the screen is like drawing with a real pen or pencil, making your strokes wider or stronger depending on the pressure. The Note measures 1024 levels of sensitivity while (I think) the Surface and Wacom measure 2048, though at twice and three times the price of the Note respectively.
Speaking of the S-Pen: I was wrong to question its size based on my experiences using it in shops. Despite my earlier reservations, I’ve found the pen a comfortable size once you get used to it. I had considered buying the holder, which encases the S-Pen in a larger barrel but, really, for the moment, I don’t feel like I need it. What is probably required is a decent dock because, even with a case, it’s hard to sit it on a desk when the cable is protruding from the bottom.
As to its practicality in cartooning: well you’ve seen my first effort, drawn entirely whilst lying on my bed. I’ve tried out a few of the drawing packages that are available including Photoshop Touch, Autodesk Sketchbook, Infinity Painter and Infinity Design. There were others, less notable, and, quite honestly, it was difficult finding one that really felt right. All packages seem to involve some level of compromise and I guess you choose the one that feels right for you. The package I’ve settled on and have now bought is called ‘Art Flow’. I hadn’t heard of it before but it’s brilliant at what it does. It has the best sensitivity (the ability to accept only pen input is a huge positive), the biggest canvases (some of the others, especially Sketchbook are very limited in this respect), and the pens just felt the most responsive to the way I draw.
It’s far from perfect and there are things it’s missing such as the ability to store favourite pen sizes or add text (which would save me time moving it back to the PC, though I suppose I could try exporting it to Adobe Touch). Art Flow has the option to toggle the pen and eraser using the button on the S-Pen but, so far, I’ve been unable to get it to toggle back to the pen after using the eraser. This means a slightly laborious business of opening a menu and selection the tool. However, I think the result is worth it. What I like about my first effort is that it looks like what I’d produce with a pen and ink. I generally hate the digital look. This feels and looks like working with ink, only ink I can erase perfectly.

There are other things I’d like to see improved but these apply to most packages out there. The canvas size is still a problem. I’m working at 2500x2500 pixels (I’ll have to experiment to see if it goes higher) but when I zoom in to work on detail, the pixilation is still pretty severe. It doesn’t matter too much when the final image is reduced for the web to 800 pixels wide but I’d like more resolution. I’ll have a tinker later today to see how far I can take it. Of course, the solution might be to use a package that creates vector art, such as Infinite Design (where the canvas size is supposedly infinite) but I’ve not seen one that felt responsive enough to for my taste. I did come across an interesting app called Papyrus which worked quite well but I’d have to buy the full version to unlock the ‘true eraser’ and I really don’t intend to get locked into buying many apps just to test features.
I’ll probably bore you still over the next few weeks with observations about the Note 10.1. Although I really had my heart set on the new edition, I ended up buying the 2013 edition because it’s what I could afford and it’s no understatement to say that I’m more than delighted with the result. In fact, I’m so impressed that I might even consider this a trial. Rumours persist that Samsung might bring out a 12 inch in the coming months and a slightly bigger screen would be one of the improvements I would have asked for. Perhaps by the time they release it, the work I’ve been doing will start to pay off and my workflow will be at a stage where I’m entirely comfortable working electronically. Perhaps by then, they’ll have even read my letter and consider sending me one to review.
Yes, I know I said I wouldn’t… I’m clearly a fool but isn’t that half my charm? Samsung didn’t respond to the letter, cartoon, and free book I sent to Ines van Gennip, their Marketing Director, by way of begging for a 2014 tablet to review. In fact, they didn’t respond at all. It meant that my resolve had to be stronger not to buy one of the new Notes. The price (reported to be £479) ensured that was easy to do. Less easy was avoiding the relatively cheap 2013 edition tablets which are available right now.
My resolve cracked yesterday when I jumped on a train into Manchester. I went for the silver version, which is actually a rather tasteful grey and looks much better than the white versions which, for inexplicable reasons, are usually the models you see on display in most shops. Since then, it’s been a crash course in Android and its apps. It also feels strange summarising my thoughts about an already outdated product.
There are plenty of reviews out there for anybody wanting to know about the old Note, so I’m not going to get into all that technical jargon or explain where the ports are. I did, however, indulge myself by buying a high-speed 64gb microsd card which I slipped into the slot on the top edge to expand the tablet’s storage from 16gb. The two types of memory aren’t equal, with anything stored on the internal chips accessed much more quickly. So, for my purposes, the 64gb will be taken up with music, images, and writing. As much as I can, I’ll try to reserve the limited 16gb for installed applications.
I primarily bought this machine because I want to draw cartoons when I’m not sitting at my desk. I also wanted to be able to browse the web, update this blog, and check my emails without my tablet crashing (something my inherited first generation iPad was doing all the time). If I could play the occasional game, that would be a positive, though I’m not going to talk about my sudden obsession with ‘Simpsons Tapped Out’, ‘Bridge Constructor’ or the totally wrong-yet-wonderful ‘Zombie Gunship’.
I’m not even going to dwell on the things that the 2014 tablet might do better. Of course, I would have loved that extra gigabyte of memory, that screen with twice the resolution of this. But neither of those things impact hugely on what I’d write in this review. Not that it’s even a review, rather the opinions of a scribbler on a very limited budget who has bought and used technology for more years than he’d like to admit and is generally hard to impress when it comes to technology.
That much said: this Note 10.1 has impressed me like no other technology I’ve ever owned. As I sit here, I’m trying to remember the last bit of technology that impressed me this much but it’s a struggle. This is the first time I’ve bought something that felt like the technology lived up to the ambitions of the designers.
And that’s the thing with the Note. This tablet is so easy to use and unbelievably useful. It just does what I ask of it. There’s no fussing around with cables, finding the right software to make a file transfer happen. No need to use iBloodyTunes. There’s little ‘I’m still setting it up’ involved. I turned it on, entered my wifi password, and the rest was straightforward. If I want to transfer bulk files, there is a cable. In fact, the cable is one of the few complaints I have. It’s too damn short and is unique to Samsung when I’d have preferred something in the USB family. However, my complaint about the wide plug noted, the other plug is standard USB and goes straight into my PC, a standard file explorer window opens and I can drag my files where they needed to go. Incidentally, this is the first device with Bluetooth that actually connects to everything I own. Even my Apple keyboard which was always a bit of a struggle to get connected to my iPad connects first time.
I’ve had a limited chance to play with it but iPad owning friends are already looking enviously over my shoulder. That’s down, in part, to Android and the ability to use widgets on top of Live wallpaper. Android Jelly Bean just looks and feels better than Apple’s offering. Of course, personalisation can also be a euphemism for ‘clutter’ and my screen is already suffering from a bit of that. However, that clutter reflects my personality and I already feel like the tablet already reflects who I am, not how Apple want me to be. Where Apple’s iOS is simple to use and has a narrow range of options, Android’s possibilities seem to multiply the more you learn to use it.
Of course, the Note is more than Android. It’s also the S-Pen.
If you’ve used one of those capacitive screens such as you find on the iPad, you’ll know that it’s impossible to achieve any degree of accuracy with your finger. There are always some geniuses who can produce stunning work with them but I always found it next to useless for drawing. There are so-called styluses you can buy with rubber ends but even these don’t improve matters. That’s where the Note has a huge advantage.
Although it can also be controlled with your finger, the Note (along with the Pro version of Microsoft’s Surface) uses a Wacom stylus which captures very fine movements of the pen’s nib. Wacom have also brought out their own tablets, through they’re prohibitively expensive. An additional advantage of the Wacom stylus is that it also measures how heavy you press on the screen, meaning that drawing on the screen is like drawing with a real pen or pencil, making your strokes wider or stronger depending on the pressure. The Note measures 1024 levels of sensitivity while (I think) the Surface and Wacom measure 2048, though at twice and three times the price of the Note respectively.
Speaking of the S-Pen: I was wrong to question its size based on my experiences using it in shops. Despite my earlier reservations, I’ve found the pen a comfortable size once you get used to it. I had considered buying the holder, which encases the S-Pen in a larger barrel but, really, for the moment, I don’t feel like I need it. What is probably required is a decent dock because, even with a case, it’s hard to sit it on a desk when the cable is protruding from the bottom.
As to its practicality in cartooning: well you’ve seen my first effort, drawn entirely whilst lying on my bed. I’ve tried out a few of the drawing packages that are available including Photoshop Touch, Autodesk Sketchbook, Infinity Painter and Infinity Design. There were others, less notable, and, quite honestly, it was difficult finding one that really felt right. All packages seem to involve some level of compromise and I guess you choose the one that feels right for you. The package I’ve settled on and have now bought is called ‘Art Flow’. I hadn’t heard of it before but it’s brilliant at what it does. It has the best sensitivity (the ability to accept only pen input is a huge positive), the biggest canvases (some of the others, especially Sketchbook are very limited in this respect), and the pens just felt the most responsive to the way I draw.
It’s far from perfect and there are things it’s missing such as the ability to store favourite pen sizes or add text (which would save me time moving it back to the PC, though I suppose I could try exporting it to Adobe Touch). Art Flow has the option to toggle the pen and eraser using the button on the S-Pen but, so far, I’ve been unable to get it to toggle back to the pen after using the eraser. This means a slightly laborious business of opening a menu and selection the tool. However, I think the result is worth it. What I like about my first effort is that it looks like what I’d produce with a pen and ink. I generally hate the digital look. This feels and looks like working with ink, only ink I can erase perfectly.
There are other things I’d like to see improved but these apply to most packages out there. The canvas size is still a problem. I’m working at 2500x2500 pixels (I’ll have to experiment to see if it goes higher) but when I zoom in to work on detail, the pixilation is still pretty severe. It doesn’t matter too much when the final image is reduced for the web to 800 pixels wide but I’d like more resolution. I’ll have a tinker later today to see how far I can take it. Of course, the solution might be to use a package that creates vector art, such as Infinite Design (where the canvas size is supposedly infinite) but I’ve not seen one that felt responsive enough to for my taste. I did come across an interesting app called Papyrus which worked quite well but I’d have to buy the full version to unlock the ‘true eraser’ and I really don’t intend to get locked into buying many apps just to test features.
I’ll probably bore you still over the next few weeks with observations about the Note 10.1. Although I really had my heart set on the new edition, I ended up buying the 2013 edition because it’s what I could afford and it’s no understatement to say that I’m more than delighted with the result. In fact, I’m so impressed that I might even consider this a trial. Rumours persist that Samsung might bring out a 12 inch in the coming months and a slightly bigger screen would be one of the improvements I would have asked for. Perhaps by the time they release it, the work I’ve been doing will start to pay off and my workflow will be at a stage where I’m entirely comfortable working electronically. Perhaps by then, they’ll have even read my letter and consider sending me one to review.
Subscribe to:
Posts (Atom)