On 2014-08-04 10:57, David Schwartz wrote:
It always amazes me that these discussions inevitably devolve into
arguments about the tools.
When people discuss new features for cars, like switching to hybrid or
electic technology, do they spend most of their time talking about
battery chemistry or the electromagnetic properties of different
materials? Or do they talk about the benefits mostly?
If they are engineers they might. Look at the audience.
My question was a technical question about the future of Android
developer demand.
Why is it that we in the software world are so freaking attached to
the technology used to IMPLEMENT our ideas?
Because we are the ones implementing those features. I'll bet car
engineers have the same types of debates and talk much the same way we
do.
Way back when Windows 3 was released, I was doing my own consulting
work for clients. I focused on real-time embedded solutions written in
C/C++ that ran on DOS or some kind of embedded kernal.
People kept asking me why I didn’t get into Windows programming.
My explanation was simple: because I had observed that every time
Microsoft came out with a new version of Windows, they required
developers to attend a week-long training course in Seattle to become
“certified”. It cost several thousand dollars and happened every 9-12
months.
That in itself wasn’t so bad. The problem I noticed was that I knew a
TON of small developers who did this a few times and ended up going
bankrupt because of the long ramp-up time it took to absorb all of
this new technology. What I saw was they’d pop for the training and
certification course, come back home, start busily working on apps,
and right about the time they’d be ready to release something, MS
would come out with the Next Great API version and they had to start
all over again!
In the embedded design world, people much preferred stability — we
used stuff that was solid and proved and stable and used for several
years. Customers didn’t like new APIs, or even new programming tools.
I see the same thing happening in the mobile world, except the market
has been transformed such that virtually anybody can participate.
In the iOS world, Objective-C is like C, only with quirks. C
programmers can pick it up without too much trouble. Newbies don’t
have to overcome their earlier biases and probably pick it up faster.
In the Android world, Java is an old and stable platform,
But in both cases, the mobile APIs keep moving! Apple releases a
fairly massive update annually, and Google is doing their best to keep
up with new Android releases.
So you’re barely able to get up to speed with the latest API before a
new one comes along and renders a lot of your work obsolete.
To make matters worse, if you want to support multiple platforms, you
need to be fairly proficient in SEVERAL DIFFERENT LANGUAGES AND
PLATFORMS.
Then from the marketing angle, you’ve got people who say, “Oh, HTML5
web apps are really the future, we’re not going to waste our time with
native apps!” That’s all well and good, except it misses the point
with native apps, which is that they’re able to access all of the
hardware goodies that Apple and Android manufacturers keep adding to.
Good Point!!
That is, web apps will FOREVER be behind the technology curve when it
comes to supporting the wizbang functions inherint in most mobile
devices. Sure, they’re fine for generic data-driven needs, but not for
things that are generating sales at the front-edge of the technology
curve leveraging the latest hardware features.
Web apps = run everywhere there is a browser. Native apps are
restricted to their hardware & O/S. Both have their merits.
Now we’ve got a new language: Apple introduced Swift and is making it
available for free, like their other tools. This is going to stimulate
a whole new generation of devleopers to jump into the fray and start
building apps for iOS — apps that are going to be hard to “port” over
to Android platforms, or even web platforms.
I’ve talked with Joe about his app. To his credit, he’s focused mainly
on the app. But what he’s missed is the fact that, IMHO, he’s
over-spec’ed it to the point where you'd need so much custom code to
impement what appears to be a simple tool that he’ll never be happy
with the end result. His UI design makes assumptions based on HIS
experience with *nix shell scripting, and he clearly explains this in
the spec. There are no native widgets that work like “grep” in the
Android world! So he’ll be extremely hard-pressed to find anybody
who’ll build it for him within the budget he’s demanding.
I’ve worked with something called Delphi since Borland introduced it
in 1995. Starting with the XE2 release a few years back, they’ve been
embracing a multi-platform targeting strategy where you can develop
apps in one language that will run on any of the popular platforms:
Windows, OS X, iOS, and Android. And it actually WORKS!
This is what we need - build once run everywhere. I personally think
web development is way behind in they types of tools we have. I often
wonder why we do not have something like VB that is drag and drop.
Instead we build everything every time. The web dev model is very
expensive.
You can’t even do that with JAVA!!! The supposed “write it once, run
it anywhere!” platform.
Again, I talked with Joe about his app, and there are no native
widgets available in Delphi that implement the specific UI behaviors
he’s looking for. I cannot build an app for him that fits his criteria
as closely as he wants, but it’ll come close, AND it’ll run on all
four major platforms.
I’ve interviewed for a couple of mobile app jobs; I have a tough time
getting interviews because they’re all looking for the same thing: 3+
years of experience with at least one app selling in either Google or
Apple’s App Store.
Sounds like you need to freelance.
Who are they interviewing mostly? Kids — gamers with no computer
science background who’ve been building and selling games!
Everybody else is spending so much time deliberating about whether
it’s better to use Objective-C or Java or C++ or HTML5 or this
platform or that platform, and will it fit into our strategic
marketing initiatives in three years time …
Sheesh … the only way to get a job doing mobile development these days
is NOT so dependent on being a “mobile developer” but being able to
converse intelligently about mobile languages and platforms. Because
when Apple and Android issue an update, Marketing melts down and
decides to stop development on everything while they figure out how to
incorporate all of the latest cool new hardware features and API crap
into their design.
It’s the same as Microsoft’s Windows API update “tail" wagging the
development “dog” all over again!
Let’s talk about our customers for a change, and what we can do for
them, eh?
Ok, I'm game (no pun intended) It really is all about the customer.
What did you have in mind?
-David "The Tool Wiz" Schwartz
On Aug 4, 2014, at 9:48 AM, Paul Mooring <[email protected]> wrote:
I wanted to send this to the list, because I think you make some
excellent points here. Also just for the record, I'm not necessarily
saying I think do web apps for smart phones is better. I'm merely
providing POV from someone working in the tech start-up space that
that's what the industry is currently leaning towards. I actually
prefer native apps myself.
---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss