Wednesday, December 11, 2013

My First "Google Glass App"

I made what my friends consider a poor purchasing decision - and what I hope will pay itself off in the long run. I bought an explorer edition of Google Glass.

The purpose, of course, was to start developing for them. I'm a programmer at heart and programming is what I want to do. It took about a week before I finally got around to making my first app, and of course being an Android developer I wanted to play with the newly released "Glass Development Kit" or GDK - the API on top of Android specifically for Google Glass Apps - not the mirror api cards. So I took apart one of Google's samples, as I'd never worked with Services or RemoteViews before.

It says "Meow" (on the card) when you trigger it using the voice command "OK Glass, Meow."

To do this, I had to create a few things: MeowService - the service running in the background that controls the LiveCard, meow_card.xml - the layout file that simply says "meow", MenuActivity - the required intent when interacting with the live card (yes, required!), and voice_trigger_start - a trigger with the text to launch the app, and of course AndroidManifest.xml, but that's barely important.

Sunday, July 14, 2013

The Small Cultural Difference between 「朝ご飯」 and "Breakfast"

Many a student of the Japanese language will very quickly learn the words for "breakfast," "lunch," and "dinner."  However, what isn't discussed is the very, very small cultural difference between the origin of these words.  In meaning, the terms are used practically interchangeably - but there is one small detail.

The "asa" in "asagohan" means "morning."  With the "gohan" being rice, of course.  It's clearly a meal one eats in the morning.

However, "Breakfast" is derived from "break" and "fast."  When one eats breakfast, they are breaking their fast.

With this in note, remember.. you can eat at noon in an English-speaking country and still be eating "breakfast."  But in Japanese you would definitely be eating 「昼ご飯」 (Noon Meal, Lunch).

Monday, June 10, 2013

iOS7 takes the leap but misses the mark

Disclaimer: I am a lover of Android, Windows Phone, Windows 8, and in general dislike Apple - but I'll try to keep my points in this article clear of most bias.  Additionally, the features of iOS7 that have been revealed are in Beta and are subject to change.

I, myself, am a huge fan of Flat Design, and sort of an amateur designer (professional developer).  As such, Flat design or "Almost Flat" design greatly appeals to me.  Working without all the flashiness of the early oughts allows me to focus on a more content-oriented design and doesn't require many skills with a graphics editing suite for general work.  However, this article isn't about me.  It's about Apple, and how their attempt at flat design just barely misses the mark.

Frosted Glass

I honestly can't figure out what Apple thought it was doing with the Frosted Glass look.  On it's own, it presents a fairly nifty effect - but it does not fit in with Flat Design, and barely even works in the scenarios they've placed it.  This picture of Control Center, for example, uses the Frosted Glass backdrop to overlay the iOS homepage.  Blurring the icons behind it and leaving it with a variable and colourful background.  "Thats beautiful!" one might exclaim, but if you look closely you'll see there are many problems with it.

For one, the variance of colours washes out the content - the most important part of the user interface.  While my eyes are admittedly not the best, the white text of the song title "Get Lucky" by Daft Punk blurs into the background, as does the other white objects.  They don't stand out at all where, in this case, they're exactly the type of content that should be standing out.  The end result appears "pretty" but ends up leading to a colourful and tacky experience.

Inconsistent Icons

Icon inconsistency is a common scourge amongst smartphone operating systems.  However, from my limited experience with Apple this hasn't been the case.  Icons on Apple have always seemed to feel the same, with their slight gloss, roundedness, and lack of attempt to be anything else.  Here, however, Apple's own icons are vastly inconsistent with each other.

iOS7 icons for Photos, Camera, and Weather
Here you can see the icons for the Photos, Camera, and Weather apps all together.  It seems to be a very sorry state for the icons as none of them use the same style.  I didn't even have to rummage around for three examples - they were presented to me by Apple on their design page.  While they're not consistent with each other, they at least seem to bear some facet of consistency with the other icons on iOS.  Three distinct styles appear in the iOS7 icons.  I'll refer to them as they're used in the pictures above, from left to right.  You have the flat style, which uses absolute minimalism to get the point of the app across.  You have the light to dark gradient style, which produces a slight raised effect, and then you have the dark to light gradient style, which appears to produce a slight well.  None of these icons exhibit the same design decisions, which leads to a very cluttered and busy looking home screen - even if it's not.  This is, luckily, one of the aspects that is most likely to change.

GameCenter

The lack of completely obvious skeuomorphism is gone, which is nice - but what the heck is even going on here?  The bubbles are 3D and the text has a gradient background on it.  At least they're using the accent colour?


Header & Inline Icons

Photos
While the font is beautiful and the use of a single accent colour throughout the application looks nice, but using it for calls-to-action can be a bit strange and jarring - pulling the user's attention away from content such as the title and presenting opportunities where icons would have been a better fit.

In the header, Moments looks out of place due to how close "Collections," what's being marked as the previous screen, is to it - and it makes Select seem very far away.  This experience only gets more awkward when longer human selected titles are used.  In this case, "Moments" is the title of a Collection.  If that collection was the name of an event, and much longer than 7 characters, how much stranger would it look?

In the footer, you have Photos - big, bold, and bright as a selected icon - and then you have the other icons.  Shared and Albums, a very soft gray that becomes increasingly difficult to see on the white frosted glass background of the footer.

Conclusion

While there are many more places where I can point out design inconsistency (and many neat features and eye candy I won't bother to point out), it is worthy of applause that Apple has tried so very hard to change their OS to be cleaner and less skeuomorphic.  However, in their attempt to do so they seem to have swerved off the road into unknown land.  The designs unveiled today are an inconsistent smosh of flat, deep, and skeuomorphic design that when combined as they have makes absolutely no sense.  Apple needs to pick a direction for their user interface and stick with it throughout.

Friday, May 17, 2013

^IfMine - Now with ^Notes

Disclaimer: The contents of this post are the thoughts and opinions of a lowly Software Developer working at Agile Oasis Technologies on IfMine.com.  They are not representative of the official viewpoints of Agile Oasis Technologies nor of ^IfMine.

We finally pushed the newest version of ^IfMine out today.  With the newest feature: ^Notes.

I've been working on the ^IfMine project for about a year now; slowly building it up, improving and expanding features.  The original idea was to have some sort of input on your projects.  Pose a question or two and people could answer "If it was my project, I would do this..." and provide users the ability to "Evolve" their project to the next state - clean the comment and file history and focus specifically on what the new state of the project was.

Being obsessed with the valley and startups, I always thought that this was a really cool idea at its most basic instinct.  It seemed to me that ^IfMine was really focused on that area between "I've got an idea!" and "I'm making my idea a reality!"  It really focused on Idea Refinement and gathering input.

Now with ^Notes, it takes it to a new level.  Create a new ^Note for every little thought you have about your project and you can get input on each individual thought.  Quickly allowing you to pivot your project in the direction you think is best for it - and evolve it into a clean slate where you can post new ideas once you've already established some (With an entire history of those ideas still kept).

But most importantly: ^Notes feels like it was my idea.  The content of attaching notes to a project has been in the roadmap for a long time, but when the team stepped back and we started talking about how to best leverage our infrastructure for people with ideas and projects, something clicked and I immediately began drawing out the design on the whiteboard.  I know it's not just my idea - it's the idea my team and I had and refined together - but for once I really took charge with it.  I wanted to make sure that every aspect of it was perfect, and even though it probably isn't, it feels great.  It feels like my personal contribution to the project.

If you haven't checked out ^IfMine yet, please do - especially with this new ^Notes feature.  It finally feels useful.  You can see an example of ^Notes in action where a member is using them to keep track of different aspects of his project.

I'd love to see what you do with ^Notes, and where ^IfMine will go from here with this fantastic new functionality.  If you use them in any neat or interesting ways, please write a comment and link to your project - I'm sure the team would love to see what people are doing with our product!

Saturday, July 28, 2012

An Update on GVOMS

So, as many people quickly found out - GVOMS.com wasn't working. At first, the
mirrors shut down, and then Google got stricter regarding logging in through an external server. With some
tweaks, however, I've managed to bring the service up just fine - including support for dual factor
authenticated accounts via application specific passwords.


However, there is
more bad news. It seems that the latest version of Outlook (2013) is removing
"Office Mobile Service". What that means is that GVOMS will only be available for use in Office 2000 and
Office 2007. I will end support for GVOMS no later than the version of Outlook after 2013 - unless
significant interest/donation is put towards it.


The good news is, however,
that GVOMS doesn't have to just be for Outlook. GVOMS provides a protocol that Office understands, but is
open for the entire web. GVOMS provides a SOAP interface for sending Text messages over Google Voice.


So
if you're an interested developer, let that sink in - and then try to build something on top of it ;) You
can read up on [MS-OMS]:
Office Mobile Service Protocol Specification
over on MSDN.

Tuesday, June 12, 2012

And you complain about Android fragmentation?

Something very special and unique exists about Android - it operates on many different
types of screens, devices, and even operating system versions.  Android is a uniquely fascinating ecosystem
that I can never get enough of.  That said, I program Android applications as a student developer for my
University.  Nothing infuriates me more, however, than the constant accusation that programming for android
is hard due to fragmentation.

You couldn't be more wrong.

While I
have yet to suffer the "a new version of android just came out, better test!" scenario, I've successfully
programmed on a two person team for two apps that work on 2.1 and up using 4.0-like features.  Is that
surprising?  It shouldn't be.  The fact of the matter is, Android is built so that differences between
hardware, OS, & al shouldn't matter in the slightest.

That said, I couldn't
help but chuckle a little when we installed iOS6 on one of the test devices in the lab.  (My coworker does
the iOS side of things, so we have native apps for both Android and iOS).  For our little news application,
a drawing thing with the way we were doing the titlebar broke.  Not a big issue (broke for maps too).  For
our maps app... everything broke.  No map.  No pulling up the native application for directions (launched in
safari instead).  Nothing.  With iOS6, Apple went ahead and BROKE apps relying on the maps application.

Sure,
this is probably because they've moved to their own framework, and this is in the early stages of the OS -
but still - entire app. broken.  One iOS update.

And you complain about Android
fragmentation?

Friday, February 24, 2012

Rant: Chrome for Android

I have yet to understand why Google Chrome for Android never bothers to synchronize
your profile and passwords. It is kind of frustrating to be using the same web browser that I use on my
desktop. One I know synchronizes my usernames and passwords and yet I still have to enter in and resave all
my usernames and passwords for any website that I decide to visit on my Android tablet. It is kind of
ridiculous.

Tuesday, February 7, 2012

Why buying a tablet will improve your phones battery life

I discovered something interesting already in the use of my brand new android tablet. 
It would appear that my phone has started to live for longer periods of time.  When I stopped to think of
this interesting trend it occurred to me that many of the more tablet optimized tasks I partake in on a
daily basis, such as email checking and web browsing I had moved to my tablet, instead opting in to use my
phone only while on the move or for smaller tasks such as texting (which, thanks to my use of google voice I
could do with equal ease on my new Xoom)

This has greatly improved the battery life of
my phone.  My phone is now relegated to more phone-like tasks while my Xoom acts as a extremely portable
device, similar in function to that if a PC.

This brings to mind the conclusion that
the reason our phones battery lives are so horrible these days is because we tend to use them for
everything.  If you're sitting on a train and you don't have a tablet you're probably going to pull out your
mobile phone for instant entertainment.  Purchasing and using a tablet however will surmount in a
significant gain of battery life for your phone, so long as you have uses for your new tablet.

Xoom and ICS

So, today I managed to snag myself a Xoom.  By which h of course I mean that I received
a Xoom in the mail from my good friend Amazon.com.  I have been playing with it since I opened hue packaging
and so far I have to say that I absolutely love it.  Touch typing on a screen is definitely awkward but I
have a feeling that I'll get more used to it as time goes on. 

This is my first
tablet, and hopeful I'll be able to writ some neat maps for it.  I've already had a great idea that nobody
seems to be implementing in the android store atm.

So maybe I will at a future date?

Sunday, February 5, 2012

Feeling like I'm PWNing REST

I'm working hard to make the private API I'm implementing at my current job a RESTful
uri scheme, and I feel like I hit a point of transcendence recently when I decided how to record a user
staring a story.

  • PUT /article/:articleID/favorite/:userID


  • DELETE /article/:articleID/favorite/:userID


I decided
that POST didn't make sense, as you couldn't really favorite a story more than once at
a time, and of course DELETE makes sense here.  Adding them as a relation between the article and the user
seems to make sense in this URI scheme as well.

So, all in all, I'm proud of myself.
 Despite it being such a tiny, simplistic thing.