Today, something unexpected happened. I had the (somewhat unplanned and impromptu) pleasure of showing the ropes to the “new recruit” at work, a student here for a work term over summer break.
Now, we’re not necessarily doing that much coding here yet, as we’re still in the process of bringing back large portions of IT functionality in-house. We do, however, do a lot of software configuration, release management, testing/QA tasks, and, we are ramping up to use a major enterprise CMS to be able to create front-end content quickly (HTML/JS/CSS backed by JSP & EJB following OSGI structure).
I’ve always wondered in the back of my mind, if I were “in charge”, how would I more gently introduce the younger generation to the world of “enterprise programming”? Certainly the “enterprise world” is often significantly different, if not completely far-removed, from the real-world of cutting edge software development based on agile methodologies and lightweight web frameworks, co-developed with the customer in real-time, or implemented competitively overnight at a weekend hackathon. It is also far-removed from the naiively specialized world of “academic coding”, where “programming problems” (albeit sometimes very tricky ones) are assigned with a very clear set of up-front requirements and well-defined metrics for acceptance, where every assignment is given a certain amount of time to complete and graded for completeness and of course for “originality” or “ability-to-follow-the-book-without-copying” (where copying any minor component is seen as the devil’s work, labelled plagiarism, and ostracized).
Enterprise application development on the other hand, often times has no clear-cut requirements, no well-defined acceptance criteria (other than customer happiness) and is both behind schedule and over-budget before coding even begins. That thing about the no copying? Yeah that’s tossed out the window in favour of cutting corners and “getting it to market” as quickly as possible, often at the expense of quality (or in some cases even the development team understanding the solution, the most recent case that comes to mind is this hilarious StackOverflow verbatim copy “programming faux pas” from a Nissan connected car developer). All that being said, enterprise application development isn’t that hard, just more complex and frustrating than greenfielding, open source work, or even consulting. So it turned out to be a good opportunity to take a stab at it, as the student in question only had a year of Computer Science so far and despite some exposure to Java had not much in the way of Web development yet as those courses were coming later in the program. He did however, have a healthy interest in the Gaming industry, an industry which is increasingly finding an audience and monetization options for its wares on Mobile and Web platforms.
“The only thing constant is change”
IFTTT finally just released its own API (sort of) when it announced the introduction of its new “Maker” Channel which may very well be the closest we ever get to a true API. It offers HTTP-based activation of Actions to carry our when invoked or Triggers which can be combined with another service.
The Maker Channel extends the power of IFTTT to any DIY project, big or small,” said the company in a recent blog post. “You can now build and connect Recipes to any device or service that can make or receive a web request.”
Since launching nearly four years ago, If This Then That (IFTTT) has provided a web-based platform for “thing” integration towards realizing the promise of the Internet Of Things (IoT) helping to make our lives simpler rather than more complicated as it often does as new technologies continue to be introduced.
For a quick refresher from my previous post on IFTTT’s role within the Internet of Things, it enables its users to authenticate/authorize and inter-connect a variety of tools, devices/sensors, applications and web services through unique “recipes” that are based on an “if this happens, then do that” formula. These could accomplish anything from the serious (such as automatically receiving a text message if suspicious activity is picked up by your home surveillance system), to the fickle but convenient (for instance backing up photos uploaded to Facebook which have a particular tag to a dedicated Dropbox folder). Recipes like these have all been created by the community and are free to use (unless you wish to mark your recipe private, and either way the data you enter into your recipe of course stays private and only a template of it is shared)
While backing up some files to an external hard drive from my older one, I recently came across an old Cover Letter which had accompanied my resume in a job application I sent to Research In Motion (RIM) back in Summer of 2008.
It’s interesting to look back at, because I recall back then being very frustrated with the state of the Mobile industry in North America (particularly in Canada). These feelings were only magnified by my time spent in Japan 2006-2008, a country which at that time was a clear leader in Mobile technologies and the global consumer electronics in general. Since then, Korea and China (two other countries I was fortunate enough to have spent some time in during my Graduate schooling vacations in between terms) have now caught up in terms of innovation and even surpassed Japan’s leading Mobile technology companies in sales as well.
Back then companies (again particularly China & Korea but many European firms as well) were sending some of their top experts and technologists to Japan to do market research with and/or attempt to poach talented Japanese engineers from, the likes of world leading Japanese tech companies: Sony-Ericsson, Panasonic, Sharp, Toshiba, Hitachi, Mitsubishi, Fujitsu, Fuji-Xerox, Konica-Minolta, Nintendo, Softbank, NTT, KDDI, etc. The goal was of course to glean as much information and consumer insights as possible from the country which boasted the fastest home fiber internet speeds, mobile internet speeds, mobile data usage, and mobile revenue per unit (ARPU) in not just gaming which usually comes to mind when thinking of Japan, but all application sectors.
My experience in Japan indeed taught me a thing or two about “sticky” services, particularly the infamous “iMode business model” by Takeshi Natsuno of NTT DoCoMo which succeeded by providing a cohesive ecosystem of applications and a flat-rate (about $40 USD/month) unlimited data service, which drove subscriptions through the roof. On top of this, standards and specifications which were simple to follow for developers and which reduced page-size for web content with cHTML then later WAP/WML helped grow the service’s offerings in an organic way. Only now are we starting to see the same sorts of initiatives by Google [LINK] & Apple [LINK] in North America. Over here, very little regard has been made for how to optimize mobile services for users, which is why our Mobile industry is only now catching up to and finally surpassing where Japan was 9-10 years ago. Indeed, we constantly hear reports about the growth of Mobile Video, On-Demand, OTT (subscription services like Netflix, Hulu & Amazon Prime Instant Video).
What got usto this point was not the old guard, of Blackberry. We needed the introduction and many iterations of the iPhone and Android phones to catch us up. Basically what that means is that we needed a powerful supercomputer (more powerful than the room-sized super-computers used to send men to the moon in the 1969) in our pockets, to do what the Japanese could do with just a fraction of the computing power and screen size. Another similar example is what Atari could accomplish while innovating an entire industry out of nothing, with only 4-bit video games and the magic Nintendo could pull off to revive said industry with just 8-bits (NES); compared to what it took for Microsoft engineers to feel they could play in this space (128-MB with the first generation X-Box) and join the Video Game console wars.
Where is Canada in all this though? Our top tech players have not had the best track record, think Nortel, ????, and now RIM/BlackBerry. They are really a victim of our legal restrictions and an anti-competitive Mobile market due to complacent Telcos more than anything. While NTT was procuring top tech innovators to produce mobile devices for them and licensing their iMode technology to Mobile Network Operators (telcos) in over 17 countries [LINK], RIM was struggling to establish itself as a leader in Email communications on the Mobile. Don’t get me wrong, they are. To this day, I still prefer the experience of my first BlackBerry unified message center for Email/SMS/IM messages to anything from iOS or Android. That said, hindsight proves to us that the company was a little myopic and risk-averse to the point of not pursuing innovation opportunities.
As soon as I returned from Japan, I remember having an extremely infuriating feeling of monopolies and oligopolies
driven by protectionist measures, cronyism and a resulting complete lack of competition or innovation.
Then something happened in the summer of 2007. Google announced its acquisition of ____ and the open sourcing of their Mobile platform into the Android project, and Apple announced and released the version of the iPhone.
I laid out some steps that I felt RIM could take to avoid competing with these two consumer-centric devices, and how they could preserve their business .
Today, while I typically carry around my iPhone 6 everywhere I go, I still don’t have the powerful enterprise smartphone I described, with seamless business applications.
A very special yet belated birthday welcome goes out to Reiko Clara Copeland, the newest and youngest member of the BCmoney family.
Being due today – but arriving over a week early at approximately 8:20pm AST on Thursday, April 29th, 2015 – my daughter and second child Reiko Clara Copeland was born a healthy 3.03 kilograms (6 pounds 11 ounces) to Bryan Copeland and Nana (Kurata) Copeland. She was delivered safely at the maternity ward of the Moncton Hospital after a roughly 30 minute, and almost pain-free (compared to the first one according to my wife) delivery.
Rockin’ the “Bad to the Bone” shades her brother rocked before her…
This is the first revision of my quick and dirty Podcatcher (podcasting client).
It adds three new features:
- Ability to search for Podcasts by name (via iTunes API)
- Resolving the actual RSS feed URL from the Podcast ID
- Caching a copy of the RSS feed on the server in XML and only requesting updates if changes have been made
The last features I want to add in my next post will be the ability to arrange and sort multiple Podcasts you’ve “subscribed to” by dragging their “album art covers”, and . This little Podcatcher app would by then have pretty much the full capability of the native “Podcasts” app (official Podcatcher from Apple).
I’ve done quite a bit of research into Podcasting lately, particularly because they are making a comeback in popularity, far surpassing their original interest. There are a number of factors contributing to this resurgence, including:
BC$ = Behavior, Content, Money
The goal of the BC$ project is to raise awareness and make changes with respect to the three pillars of information freedom - Behavior (pursuit of interests and passions), Content (sharing/exchanging ideas in various formats), Money (fairness and accessibility) - bringing to light the fact that:
1. We regularly hand over our browser histories, search histories and daily online activities to companies that want our money, or, to benefit from our use of their services with lucrative ad deals or sales of personal information.
2. We create and/or consume interesting content on their services, but we aren't adequately rewarded for our creative efforts or loyalty.
3. We pay money to be connected online (and possibly also over mobile), yet we lose both time and money by allowing companies to market to us with unsolicited advertisements, irrelevant product offers and unfairly structured service pricing plans.