Tuesday, May 26, 2015

My Chromebook Dev Workstation - Part 2

So here I am again, looking at another new chromebook and hoping to turn it into my dream workstation.  This time I am using a Dell Chromebook 11, the 4gb model that has the i3 chip.  This clearly should solve the ARM problem I had.

Let's compare the two devices first.  The Dell model weighs a little more, looking, weighing in at a whopping 2lb14oz (2.875 lbs) but the ASUS only weighed, by spec, about 2.25lbs (I forgot to weigh that one before I mailed it back).  In addition, the Dell is not fanless, which may account for the extra weight, and does have a small hum which I really only notice when listening for it.  The fan is also likely the reason that instead of 11 - 13 hours usage like the ASUS, the Dell is down to about 8 hours without charging.

I'm told that the Dell screen isn't as "sharp" as other Chromebook displays, so I tried to find that flaw.  While looking for that, I noticed what they meant but I also didn't see any problem watching videos on Netflix or browsing.  I don't see it as a significant worry, and as someone who is using small-font text editing on it without problem, I don't think it's something most people would worry about.

The Dell seems snappier and more responsive, though to be honest the only lag I saw on the ASUS was when I was dragging a window onto a second monitor.  The window seemed to move a second after I moved the mouse, but other than that it was great.  The Dell, however, had no problems and was snappy and responds like I'd expect from a higher powered machine.  This does come with a problem though, in that it's sticker is a little higher.  Rather than the ASUS pricetag of about $200, the Dell Chromebook 11 sits at $390, putting it just out of the range for a "casual toy purchase" for me, and many others.  Luckily I saw a Woot deal that had it at $280, which made it a pretty simple choice.

So now onto the fun part... Let's put Ubuntu on this thing!

I plugged it in and powered it up, did my sign in to google and was going in minutes.  Then developer mode, then back to signing in, and finally to Crouton!

So I told crouton to install Ubuntu Trusty with Unity desktop.  For any Crouton users out there, I set up keyboard,extension, and unity-desktop.  I flipped over to Ubuntu and it ran smooth.  With the ARM chip (which didn't have freon) it had problems flipping back and forth but the Dell has no issues flipping back and forth from ChromeOS to Ubuntu.

The final punchline... I have Sublime Text with MavensMate, an awesome terminal called Tilde, Git, and all the other dev tools (including Gitk) that I need and they're running like a dream.  100% success, and now I'm carrying a light little 11 inch bag rather than the 15 inch backpack with my Lenovo monster.

Side note: I instealled Steam on the Ubuntu partition too, and even ran UnEpic without problems.  Not about to try Borderlands II though, lol.  Win Win Win :)

Comments, thoughts, and ideas are all welcome!

Friday, May 15, 2015

My Chromebook Developer Workstation - Part 1: The Reasoning & Attempt #1

So for those of you that don't know me well, I'm kind of a gadget geek. I love new toys, playing with things in ways they weren't meant, and seeing if I can use product A for purpose B.

Some minor examples would be the "Hackentosh" I made a while ago, and my rooted HTC, or the Myo Armband charging next to me (that thing is awesome).

So let's jump to the problem I had. I have an awesome laptop (Lenovo Y510P) with 16 GB Ram, 1 TB hd, dual video cards, etc. What could possibly be wrong with that? well it weighs in at just under 7 lbs, not counting the 1 lb, 10 oz power supply. It also drinks power like water, and as I get involved in more and more meetings at work, it's more "pack up computer and power cable, take them to another room, then unpack power cable and computer, plug it in.. then the reverse. In addition, I get the feeling that the laptop that I bought really wasn't meant for or built for every-day-transportation as there are small cracks forming in the case in one corner, and small plastic bits chipping away. I do love this laptop and don't want to lose it to travel wear and tear.

So I had the idea that I need something lighter, but being the budget guy that I am, I couldn't justify spending money when I already had a laptop that, technically, did the job. I had a laptop, and even had my previous laptop (five year old macbook) as a backup, so there really was no reason I absolutely needed a new one.

To appease my own cheapness I decided that if I could sell my Macbook Pro (which still got a fair bit on ebay) I could use the money to buy something new, if I could find something the same price range. Around this time I learned that you could use Ubuntu on a chromebook, and I got that little "I need to try this" glint in my eye.

So I arranged to sell my MacBook, and several peripherals, to a friend and that gave me a budget of about $400, but my attempt is to see how inexpensive I can make this process, to make it repeatable for anyone who wants to do Salesforce (or any non-local-compiling) development with a little cost as I could find. Just a reminder that my requirements for this project are:


  1. Portability 
    • The machine needs to be easily transportable and have the ability to do several hours of meetings at a reasonable display level without being plugged in. 
  2.  Functional work machine 
    • The machine needs to be able to code, type, copy and paste, view google docs or open office, (in my case also able to compile to Salesforce) without undue delay. For example, if I am typing, then stop typing and look at the screen and see letters still appearing, that's just not going to cut it. 
    • Personally I find a second monitor to be exceptionally important for my job, not to mention the fact that portability and cost will likely lead to an 11 inch screen which can become tedious to hunch over all day. 
    • Note: I am NOT trying to create a high-end machine that can do rendering, games, video editing, etc, but it needs to be exceptional at the simple work, while not worrying about the high-end stuff 
  3. Cost 
    • I'm looking for this to be an option for developers to purchase work-dedicated machines for low cost, or for employers to have "stand-by" machines for when employees have their own machines unavailable, that sort of thing. 
I was drawn to the idea of using a Chromebook for this because they are known for being light, having a long battery life, being rather "snappy" because of the SSD instead of a HD and carrying a relatively low cost.

I did my research, and watched the markets and sales, and came across a relatively new machine from ASUS, the c201 model (not to be confused with the c200 model). I'm going to get a little technical here, in stating that the ASUS c201 used a relatively new chip known as a Rockchip. It was a quad-core 1.8 CPU that runs fanless, which means that it's lighter than machines with fans, and can last longer on battery because there are no mechanical parts.This, compared to the ASUS c200 which runs a Bay Trail style Intel Celeron dual core 1.8, seemed like a dream come true since the c201 actually costed less. The Rockchip 4GB model was only $199, and since I had hoped to aim around $250 for the device, this seemed ideal.

So I ordered the Chromebook, paid for 2 day shipping from amazon because I'm just not patient, and got it. Let's take a moment to talk about the model I got, before I go on.

I'd like to say, off the bat, that the ASUS C201 4gb was a pretty wonderful machine. It looked pretty snazzy with it's blue-toned body. It was incredibly slim and lightweight, weighing around 2 lbs, and was made of a high-quality plastic that didn't feel cheap or flimsy at all. Booted in seconds, setup ChromeOS easily, and I was typing emails in only minutes. I opened a number of tabs, hopped between them, played youtube videos, and everything ran relatively smoothly. The only thing that gave me even a moment of hesitation was that when I attached a second monitor, and drug a window off the chromebook onto that monitor, it seemed a little laggy until I placed the window and then it was fine again. This could also be because I already had a chroot of trusty running at the time behind the scenes, but I'm getting ahead of myself. If you're looking for a quick ChromeOS based device for low cost, this is a top contender if you ask me.

Ok, back to the project at hand. I followed the steps to put my chromebook in developer mode, get crouton, and set up the chroot of a trusty Ubuntu with the lxde environment. I'm sorry to say I was watching TV so I didn't document exactly how long it took, less than half an hour, I know that much. For future steps I'll take more notes, as I hadn't planned to share this experience until now.

(The process to set up these things on a chromebook is well documented all over the net, but I'm more than happy to answer questions about the exact procedure or share links, just ask in comments)

Long story short (too late, right?) I had Ubuntu running on my Chrome book and, just like chromeOS, it was responsive, easy to use, and just like the Ubuntu I remembered.

Now comes the "but."... the part that tells me that I dun messed up, and shows me where my research was just plain lacking.

The primary software I use for development in Salesforce is a program called Sublime Text. It's a fantastic editor that I would suggest to any developer, it's got features for just about every language of development, and has a plug-in for things like Salesforce, Git, and so many others I couldn't hope to list them all.

Well it seems that the Rockchip CPU runs an ARM architecture. I know, we're back into geekspeak, but in it's simplest terms, CPU architecture is basically the language that the CPU speaks, and software is compiled for certain CPU Architectures. Most mobile/tablet software is compiled for ARM chips, while most desktop/laptop applications are compiles for the x86 Architecture. Since I'm a casual hardware guy who's still getting back into the field as a hobbyist, I never thought about that, and is seems that while many desktop applications do offer ARM compiled versions with an unsupported "mostly working" version, SublimeText does not.

This took me several hours of battling with installing, and testing, and forums, until I found the answer that, frankly, I should have known earlier. I now had a laptop that was perfect for ChromeOS and Ubuntu with any ARM software I wanted, but couldn't run the one software that was non-negotiable in my personal needs.

This was, unfortunately, a deal-killer. Here's where Amazon made me very happy. I contacted them, told them that the Chromebook was perfectly fine, but not for my needs and they sent me an RMA slip and I sent it back to them. I've had problems with Amazon in the past, but this is 100% perfect customer service this time. I reset the machine to non-developer mode, and to be safe did a "powerwash" (something that ChromeOS offers, that removes all user info and resets the machine back to factory defaults), and sent it back in to Amazon today.

I've already ordered the replacement, and I'll chronicle Part 2 (hopefully the last part) when it arrives, but shipping time looks like it will be about 2 weeks. Thanks for reading and see you all soon!!

Thursday, June 5, 2014

Net Neutrality... again!

Ok, this is getting ridiculous people.  I blogged about Net Neutrality before because it was hype and fad and I thought I'd be too late to do it later as the new FCC attempt would be quickly quashed.

Well, I was wrong.

Let's recap quickly about what this really is.  Net Neutrality really is the concept that all data is to be treated equally.  Think the "Immortal Declaration" for digital information.   And no, I'm not talking about highlander, it's the Declaration of Independence, and we can debate if there can be only one later.

No, this is too important to cover in jokes though.  Basically this new stance would allow Comcast to have two speeds of data brought to your home, one which they're calling "Regular" and one that's called "Fast Lane" which companies like Netflix or Amazon could pay a premium to be using.

Come on, do you really, actually think that you're not going to get shafted in this?  That site you read, the one about video games that some guy publishes a really awesome review every week?  Forget it, you'll be waiting for a week to load the page.  Or that awesome recipe site you love cooking from.  Or any other of a plethora of locations that can't even pretend to be able to afford what Comcast thinks is "premium" fees.

The cable company is trying to say that they won't slow down data, they'll just speed up other data.  Really, people, just think about that.  That's like saying that before 1776, black people weren't slaves, it's just that white people were free.  And no, before you're getting all huffy and thinking I'm comparing internet speeds to slavery, I'm just trying to show that you can't talk about the good side and pretend there isn't a bad one.

This means that startup companies will never be able to compete with others, no matter how good they are, because their top-notch services will be downgraded to molasses in january by Comcast.  They could have speeds a fucking googolplex times faster than anyone else but they'll reach you as fast as a one-winged carrier pidgeon because they won't pay "Big Cable's" protection fees.

Yes, that's what this is.  This is Guido telling you that it'd be a real shame if something happened to your internet speeds... wouldn't want those customers to think your service was slow or something.  No no, I'm not threatening you, but things happen, and it's better to be safe, right?

Come on!

So now I'm not ranting, I'm pleading.  Go to www.fcc.gov/comments.  Really, go there, they're accepting public comments on the idea of Net Neutrality.  Don't let this happen, don't think "everyone else will write so I won't."  It's not a letter, you don't even need to mail it.  Take 15 minutes, write down your thoughts, and don't let the FCC turn their back on this just because the head of the FCC is a former lobbyist.  I'm not one to quote often, but I think this says it best:
"The President has appointed a lobbyist to regulate lobbyists who lobbied on behalf of the corporations that he lobbied on behalf of."  - Former FCC Commissioner Nicholas Jonhnson
Is that really the best person to make these choices?  Don't just assume the right answer will happen, I did, and now it's getting worse not better.  Go to www.fcc.gov/comments!  Make your comments, tell them what you think about Net Neutrality, tell them you can't just ignore it, it's one of the main founding concepts of the internet.  Tell them that every idiot has the same right to have their drivel shared at the same speed as anyone else's!

Go!  Now!  I'm done!  get out of here and do it!

See you next time!

Tuesday, May 20, 2014

I havn't played ... in years

I'm learning now that the game is never as good as you remembered it.  Games you loved years ago always seem even better now, because you forgot the crappy parts you couldn't stand.  Games you hated years ago got worse since then, because the few things you actually enjoyed were likely forgotten too.

So the point of the note today?  Give it a try again.  Reread that core book again, turn on your PS2 again, tug out that old board game and get some friends who all remember it to try a game again.  It's not what you remember, and frankly you're not who you were either.

Without an eidetic memory, nothing is how you remember it, really, and the more years that have passed, the more that changes, it's like playing whisper down the lane with yourself.  So get going, play it again, Sam, and see if it's really as bad, or as good, as you remember.

Monday, May 19, 2014

It starts with saying hi...

So I was driving home and passed this guy on the street, selling flowers.  He actually looked a little silly, and perhaps a bit unstable, as he was waving like a friend, nodding hellos to everyone that drove by, in both directions, including me.

Then as I drove by another day, and he was doing the same thing, and another and another, I realized that the man was a customer service genius, not crazy.

Before long I was waving back and smiling as I drove by.  If you treat people like your friend every time you encounter them, eventually they FEEL like a friend, and, in his case, are more and more likely to buy something from him one of these days.

So remember that next time you're talking to your clients.  Think of ways to make them feel like they're not just a paycheck to you, make them your friends, and you'll keep a better relationship with them than you ever thought you could have.

Friday, May 2, 2014

Be Helpful

Today's post is pretty simple.  No matter how new you are at development, someone's newer. No matter how little you know, someone knows less.

So what do you do?  Do you gloat, and snicker at how pathetic they are?  Well, maybe, but you shouldn't.  How about you help them.  How, you ask?  Forums.  Face to face, chatrooms.  There are lots of places you can find those that need your help.

You're a gifted developer, you're skilled at SQL, you're amazing at hardware design.. whatever your strength, take 5 minutes every now and then to share it and see who might need a hand.

Tuesday, April 29, 2014

Net Neutrality.. say what?

Ok, so if you've been watching tech news at all in the last few days you're probably heard the phrase "Net Neutrality" thrown all around, and you've probably heard the name Thomas Wheeler (The Chairman of the FCC) tossed around with it, and likely a couple dozen words you wouldn't let your daughter hear.  But here's the real question, what is Net Neutrality, and why should I care?

"What is it?"

Net Neutrality is basically the "Immortal Declaration" of data, that all data is created equal.  Different software or services use different protocols, different ports, styles of transmission, etc.  Basically Net Neutrality says that it doesn't matter either way, data is data and it's all treated the same way, none getting higher priority or faster speeds than the other.

"Why do I care?"

Because if Comcast is allowed to charge for one company to get "faster conduits to users" then the smaller companies out there that can't afford those kinds of things are going to be slower.  Let's clarify this a little more with a very simple example.  If you've got a line that can carry 1000 megabits per second, and two companies are equal over it, they each transfer at 500 megabits per second.  Now company number one pays a premium, so they get 700 megabits per second instead.  The other client didn't pay anything, but they're now being punished by getting lowered to 300 megabits, because that's all that's left.

"But why do I care about that?"

Well, you care because this means smaller companies will be facing bandwidth handicaps, which will cause service issues they can't hope to resolve.  You care because the truest nature of the internet, the fact that it's unbiased, unmoderated, pure data is now gone and you're only getting passable service from the few that are paying the most, while the rest are lost in the crossroads.  You care because the "small guy" trying to start his business with an amazing idea will fail because he's being forced out by big companies, not because the idea was bad.

"No, really, why do I care?"

Jeez, you're really a jerk... ok, you care because your own experience of the internet will be defined not by creativity, or new ideas or passion, it will be defined by who paid more to get it in front of you while the rest of the servers in the world time out.

Am I saying to protest, or get frantic, or start writing letters?  No, I'm saying to know what's going on, be aware, and alert, and then make your own choice on what to do.  Now you know the basics, go read the news and do your research, or don't, and leave knowing just a little more than you did yesterday.

Later!

Monday, April 28, 2014

Meaningful Variables People!

So this one is aimed at the programmers out there, with a little pet peeve of mine.  I wrote the code standard at my company, with the help of the other developers here, but I really have to say that it's just common sense that you don't use variable "integer" to represent an integer unless it's just a counter used in a loop.

In other words, be just a LITTLE bit creative people.  If you're counting inventory, how about "ammtLeft."  If you're working on capacity, "seatsRemaining."  Hell, I don't care if you use "placesForAsses" just put something there that is meaningful!  "Count" doesn't really cut it, nor does "total" in any cases where it might be ambiguous what you're using it to total.

So unless you're like me and you're naming your strings "int" and your floats "string", then please just try to give it 15 seconds of thought and make it just that much easier to let someone else help solve problems without deciphering what you wrote line by line.  Thanks!

Friday, April 18, 2014

The Room Two

So today I'm just going to make a quick note about a pair of games that have absolutely blown me away, but I don't want to make this a novel so hold tight for your quick look at The Room and The Room Two, from Fireproof Games.

Both games are basically the same concept.  If you know what a room escape game is, you can safely skip over the rest of this paragraph, just watch out for the spikey pit at the end.  A room escape game is a game that has the player searching through items, cabinets, drawers, or whatever else is around, so that they can unlock the next puzzle and eventually the next door to leave to the next room.  Wash, rinse, repeat.  If you don't like puzzles, logical or optical, then this kind of game probably isn't for you.

Welcome back skippers.  Now The Room, if you ask me, is the game that ruined all other room escape games for me.  It's got fantastic graphics, excellent intuitive controls, clever puzzles, and is easily the most fun I've ever had in that kind of puzzle.  The ambiance of the hauntingly perfect music just finishes the deal, and that combined with the top notch graphics give a really immersive experience that's only problem is the chance of losing your whole afternoon before you realize it.

The Room did feel a touch short once I was finished, but never once did I regret the purchase because it was so clever and fun.  The Room Two I've not finished yet, but it carries everything I said above, except it seems notably longer, with more puzzles, and just as much fun.  I find myself looking for time where I'm waiting for something to open so I can arrive early and play while I wait.

So my final thoughts, you really should try these games.  The Room is available for $1 on the google play store, and The Room Two is $3, though at the time I'm writing it, The Room Two is also available on Humble Bundle as well, so go check it out somewhere.  You won't regret it!

Thursday, April 17, 2014

K.I.S.S. - No, not the band...

You've probably heard KISS before.  Some say "Keep it Simple and Straightforward" or "Keep it Sweet and Simple."  There are a surprising number of variants to this simple acronym, but the point remains the same.

As a developer I struggle with this often.  It's hard to resist the urge to add complex functions, intricate testing, and twisting logic behind the scenes to give every nuance it's chance to be handled in the perfect and expected way.  The problem is that the more complex you make something, the easier it is for a simple mistake to slip in and the more layers you have to debug it.  Sometimes it's worth the hour to plan out a simpler solution, then execute that one, so long as it meets your requirements.

The moral of this story is this, whenever you can, Keep it Simple, Stupid.

Wednesday, April 16, 2014

Hey Coders - They're ALL your customers!

So last week I posted about how to treat customers, now I want to make a point or two aimed at developers, coders, and the like.  In case you didn't realize it, everyone, everywhere is your customer.  Let me explain with a retail example.

Let's say a company makes a widget, they then distribute that widget through wholesale distributors, who then sell the widgets to stores who then sell to customers.  When a customer buys something and it's broken, they take it back to the store.  The store then tells the distributor, who in most cases will exchange it and send the bad one back to the manufacturer.  Guess what, that means that every link in that chain is, directly or indirectly, a customer of the manufacturer.

Well for developers it's even worse.  Everyone in your own company is your customer.  The salesmen showing off your product can't have it break or fail.  Your manager is basically your distributor, and other departments count on your code working for their livelihood as well.  Then the clients you're selling your program too are obviously your customers, but anyone logging into that software, like your client's clients, are also your clients indirectly.

You, as a developer, need to remember to try your best to consider your code from the perspective of every one of those link in the chain.  Your job, like anyone else, is to make your customers happy (if possible) and functional, so don't forget to look down that chain every now and then, if you can ask how they like it, but especially remember to not shrug them off because they're approval is even more relevant than your manager's.

Friday, April 11, 2014

OH NO, Heartbleed! What do I do?

Right now everyone in the IT community is buzzing about Heartbleed, and talking techie talk about it which likely leaves many people wondering things like "What can I do?"

While I'm not a security expert, being an IT/Developer person there are some basics that are simple to do that most people should be doing.

  • Change your passwords regularly (if you're using your high school locker combo and you're not in high school, WARNING)
  • Keep an eye on your CC statements, don't just pay them blindly (What?  I didn't order 45 Nickel-plated muskrat picklers!)
  • Make sure the url you're at isn't weird. (I wanted to go to www.yahoo.com, not www.igotyourpassword.yahoodler.com)

There are more practices, but those are some of the basics.  Now, what is heartbleed?  Heartbleed, in the simplest sense, is a way for people to peek at what you're typing into some of those secure sites (the https sites that have a little lock next to them in the URL bar).  Normally that lock means that you're secure, but heartbleed got past that security level.  What's worse, it's a server-side problem, so you can't really fix it, just work around it until they fix it.

Now the question everyone's asking... What do I do now?!

Well my advice is this:
  • Change your passwords
  • Keep an eye on your CC statements for fraudulent charges
Sound familiar?  Good, you ARE awake!  Yay, here's a cookie (don't worry, google already gave it to you).  So the part about being server side adds a little hiccup here.  Since the problem is server-side you need to be careful and change your passwords regularly now, even more often than you used to and especially once again when a site confirms that they're now heartbleed free.  The reason?  Because someone might have your password now, so you should change it, but since heartbleed isn't fixed everywhere yet, that means that your new password is vulnerable too.

There's a very good chance that you're safe, and no one has your information...  but isn't it better to be safe rather than sorry if someone got it?

So that's it for today, post your comments, questions, and rants below so I can equally ignore you all, and see you next week!

Thursday, April 10, 2014

The customer is always right...

This is a basic one, folks, from way back when.  Let's take a quick look at what it means.

It means that you go out of your way to help the customer.  It means that when possible you give them the answers and services they seek.  It means you always treat them with the utmost respect and never in an inappropriate way.

It does not mean you let them take advantage of you or your company, or to gain access or credit where it's unwarranted.  Use your head, but don't ever forget your duty to show respect and manners to that customer.

And when possible, PLEASE don't make us sit through 30 minutes of hold music or annoying button pressing just to be hung up on.

Just sayin'...

Wednesday, April 9, 2014

Tell someone your plans...

This is just a quick bit of advice.  Lots of times I have plans, and want to do things, then just get sidetracked, or lose interest.  Next time you really wanna see how a side project goes, tell a friend that you're going to try doing it.  That makes it more real, it's not an idea, or a random thought, now it's a plan, and that makes it easier to keep yourself on track for it.

Tuesday, April 8, 2014

KEEP your schedule...

So I post my first late blog since I started with a simple warning.  When you take precautions and you're careful, and well-organized and doing things well, don't assume you're doing things well so you can stop being cautious..

Let's see a real life example that probably happens more than anyone would care to admit.  Person has chronic pain for some reason or another.  They start taking medication (with a doctor's permission) on a regular regimen.  Low and behold, the pain which was chronic is now gone.  This does NOT mean you can stop the medication.  Modify maybe, explore other options perhaps, but if you just stop the medication, the odds are you'll be right back where you were.

When you take steps to make something work well, and it works well, that does not mean the steps aren't required.  So make yourself a schedule, or pattern of work, and keep to it.

Test, Code, Test, Debug, Test, Release.

When you get 5 releases that are all flawless, that does not mean you skip a test cycle people!  So don't just make your schedule, KEEP it!

Monday, April 7, 2014

Get thee to a Con...

Today I'm just going to say you should go to a Con.  And if you don't know, by Con I mean Convention.  Why? Because they're fun, and social, and they're a wonderful resource to make friends, business contacts, and just kick back for a few days.

And I don't want to hear "but I don't like star trek" or whatever else you're thinking.  There are so many Cons on so many topics I couldn't even hope to list them all.  Whether you like Firearms, Video Games, My Little Ponies, Cross-stitch, Painting, Driving, Sports, Business Logic, or just about anything else you could imagine, there's a Con somewhere that is all about your favorite passion or hobby.

And I just want to say, if your favorite hobby is "Business Logic" I think you really need to re-read the oxford definition of "Hobby."

Seriously though, folks, get out there and have fun!   They're a great way to see what's trending, learn new details, meet people with the same passions, and purchase related products usually cheaper than general stores.

So find your hobby, find their convention, and I'll see you at the Con!

Friday, April 4, 2014

Bait and Switch... Come on people!

Ok people, today is apparently rant day, so please bear with me.

I understand that you want to sell your software and to do so you want to give out free trials.  This makes perfect sense to me, as a developer.  What I don't accept is how you do so with deceit and trickery.  Come on people.  When you offer a limited function version, you need to say that right away.

In the last 48 hours, I installed three short-cut game developer packages.  You know, those apps that say "Use us to make mobile apps and we'll make all the cross-platform junk for you!"  Yes, I'm actually a developer, but I was really curious to see these bundlers in action, and also because I was curious if point and drag development could make something as full-featured and fun as standard.

Yeah well instead of seeing either of those things, and being able to make a happy little review on them next week, I'm going to have some fun lambasting them here, by name.  I want to preface this by stating that all three of these packages advertised that they were free and gave you the ability to cross-develop, and all included iOS, Android, HTML5, and more.  Seems they all had one thing in common, trickery.

Let's start with GameMaker Studio from YoYo Games.  It looks very promising, with the ability to start developing right away with what appeared to be rather intuitive options, though it did take me a few minutes to figure out how to zoom in/out on my canvas.  Then I noticed that it was set to HTML5 in the type, and I wanted to set it to Android, the environment I wanted to test.  I click android and get a "oh no, you need to download that plugin" kind of alert, with a link on it.  Fine.  Well I follow the link and see the pricing page.  Full version software (Which I assume is needed to install the plugins) was $99, and that's not counting the plugins.  iOS was $199 and Android was $199... that's five hundred dollars just to do what they told me I could do for free before I started!

Now let's talk about Construct 2 from Scirra.  Once again, the interface was clean, though it was a bit confusing as the "Browse examples" button opened explorer showing me lots of examples that doubleclicking didn't open, I had to try dragging it off the explorer window onto the canvas which loaded it, but then I got a jQuery error when I tried to run it.  So the software was a little buggy, it happens.  But again, I went into more detail to try and export into Android and sure enough, please buy the full version.  Small print later told me about the fact that I had to upgrade to "Personal" for $120, or "Business" for $400 to export to mobile devices, which was the whole sales pitch of the product in the first place.

Finally GameSalad.  This one I heard about long ago but remembered in the back of my mind so I thought I'd check them out after being let down twice.  This time I was more careful and just perused the website.  Go ahead, look at it.  Right of the front page, on the left:  Create Games Rapidly, Drag & Drop, no Code - Download Creator for Free - Develop and publish on all major platforms, then it showed icons for Windows, Mac, iOS, Android.. the usual suspects.  Did you hear "try our free version" anywhere in there? Did you get the idea that the download it's offering you can't actually publish on most of those listed platforms?  No, in the top right corner of the page, there's a tiny little icon that says "go pro" and that takes you to the page that tells you that the pro version is $300 a year. (This one DID allow iOS dev on the free version, to be fair)

There you go, three examples of why I'm pissed off this morning.  Yes, I looked back at the steam pages for the first two and after scrolling past all the descriptions, right above the comments I saw the small print that mentioned that the version that was free didn't actually do anything but these other versions that cost money did, but I am very frustrated that I needed to look down to the small print to see the "All important advertised features not available in this version" note.

So yeah, people, please.  I'm not asking you to stop making trimmed down versions of your software, just be honest in what someone's spending their time getting.

Thursday, April 3, 2014

Set your gambling limit...

Most people know that before you go gambling at a casino you should decide what your cut-off is.  Me, I usually take fifty dollars.  If I lose it all, then it's gone, and I do something else with my time.  If I win then I can on the fly decide how much to re-gamble, up to that original fifty so that I never end up in a hole I can't dig out of.

Well I did some thinking on this and I think the same principal applies, in some ways, to any development project even though we don't always think about it.  Every project manager has to weigh the risks of starting a new project against the risks of enhancing existing ones.

Now I'm not saying that employing software developers is a gamble, but rather that you need to have in mind how much you're willing to put into a project before your investment (the gamble) outweighs the possible return (the winnings).

As a developer, sometimes it's hard to accept that there are times when a really good idea just isn't worth doing because of the time/personnel investment.  So just keep in mind your resources, your goals, and how much you can "risk" to get where you want to be, and you'll be able to plan out reasonable steps that get larger as you go, and who knows where you'll end up!

Wednesday, April 2, 2014

Humble Bundle - Get your game charity on!

This is really just a quick promotion to a site I really have been a long-time supporter of.  www.HumbleBundle.com is a fantastic site that sells game bundles, not only at an amazing price, but for charity.

Every two weeks, usually, there's a new bundle of games.  You can pay any amount you want ($1 or higher) to get some of the games, or pay more than the average to unlock every game in the bundle.  Today's bundle, at the moment I'm writing this, is about 3.80 average, so paying $4 unlocks every game in the bundle.  And you even get to pick how much of your payment goes to charity, the developers, or the site itself for upkeep and costs.

Check out their site today, most times  they offer games on windows and mac, but the current bundle is for Android too!

Friday, March 28, 2014

Check your code 6 months later...

When you make something for a living, whether it's wood carvings, SQL reports, digital art, software, or anything else, you get better every day you do it, even if you don't know it.  Have you ever looked at someone else's work and rolled your eyes at a simple mistake they made, or how they did something useless or, worse, counterproductive in part of their work?

Well, that's you today.  You can pick mistakes that less experienced people can make.  Well you used to be less experienced, so why don't you look over some of your own code from six months ago, a year ago, or longer?  You can use all those months and years of experience to make that older code better, more efficient, and smoother.  Just try not to pick on yourself too much for making those terrible mistakes.