Tag Archives: mobile

The Evolution of HTML5 (and the Browser)

The grandly-named “Global Developer Survey” was released recently, sponsored by Kendo UI (makers of an HTML5 framework). As you might imagine, it focuses entirely on HTML5, and presents a fairly rosy picture.

They surveyed 5,000 or so developers from around the world and asked them about their use of HTML5 — what kinds of apps they build with it, which parts they use the most, what kinds of platforms they target, etc. Given the sponsor, it’s no surprise that more than two-thirds of respondents believed that HTML5 is important for ALL developers. Color me a little skeptical at that, but we’ll move right along.

But one part of the results that stood out to me was the focus of app development efforts by the surveyed developers: 60% were targeting desktop apps, while 26% were targeting mobile and 14% tablets. When asked what kind of software specifically the devs were building this year with HTML5, a whopping 87% said desktop websites/web apps, while only about half said mobile websites.

This generally tracks web traffic by platform (as of May 2013, in North America, only about 12% of web traffic was from a mobile device), which may make this more ho-hum. But it’s that ho-humness that is surprising. It has only been in the last version or two of most major browsers that HTML5 support has gotten more robust. The majority browser on the desktop, IE, still doesn’t support over a third of the spec! Meanwhile, support on mobile platforms has been more robust for quite a while.

Perhaps this gives hope that with so many HTML5 developers working on the desktop, the desktop browsing environment will get better for HTML5 — and, one hopes, more nimble in general, with the pace of adopting newer standards (3D Canvas graphics with WebGL, anyone?). And there are some signs that this is happening, albeit glacially. Chrome is poised to be the biggest browser on the web in North America any minute now (it’s almost tied with IE as of May 2013′s statistics), although the recent jump in browser share has been so sudden that it’s hard to know if it’s an anomaly.

Kudos to Kendo UI for sponsoring such an extensive survey, even if the participant selection was skewed. It would be interesting to get a more generalizable swath and see if the same desktop/mobile dichotomy holds true in other technologies (e.g., Java, Objective-C) as well.

WWDC 2013: Getting Out of the Way

Apple’s Worldwide Developer Conference wrapped up last week, and amidst the announcements about new user-facing features in the next versions of iOS and Mac OS X (versions 7 and Mavericks, respectively), there were a ton of announcements and sessions about new developer features as well. A new version of Xcode was featured, along with a slew of new and revised APIs.

As I watched the sessions related to one of those APIs, Sprite Kit (which is a pretty amazing new gaming engine that includes physics, particle effects, and 2D graphics awesomeness), an offhanded comment by the presenter resonated with me. The intention of the new toolkit (and, ya gotta hope, other changes) is for the technical environment and hurdles to fade into the background, and to make the execution of the content as seamless as possible.

The point is to get out of the way.

It’s a worthy goal, and certainly by eliminating the need for some game developers to deal with a third-party toolkit, I’m sure Apple has made some headway there. But thinking more broadly, there’s still a ways to go.

Think for a minute about a technologically-proficient non-programmer who wants to build an app. What are they to do?

Learn a language (in this case, probably Objective-C), learn a development environment (e.g., Xcode), join the developer program, and learn the APIs. While there are many people who are doing just that, it seems like there are ways to better get out of the way.

For some examples, we can look to history. In the earlier days of the Mac, there was HyperCard. Bill Atkinson created the visual hypermedia authoring tool nearly 30 years ago, almost a decade before the WWW showed everyone how powerful hyperlinks could be. With HyperCard (and its successors, including SuperCard, which is still shipping and works on current OSes), an elementary-school student could create an app. Little to no formal “programming” — just point, click, and develop.

For more sophisticated applications, there were graphical development environments like Prograph (now resurrected as Marten). In these IDEs, you still need a knowledge of the APIs, but you string the calls together graphically, with your custom functions and routines represented as graphical units that can be strung together. It requires more knowledge than HyperCard, but definitely less than the current standard toolsets.

But back to the present day. Programming is still a niche skillset, despite the ubiquity of technology in our lives. Students in middle and high schools are showing middling interest at best. One (of many) reasons that’s true has to be the lack of an easy way to get novices building sophisticated apps. The tools and processes are just too much “in the way.”

Apple’s moves in the direction of easy and sophisticated development are admirable. But there’s a long way to go to realize the promise that Atkinson made back in 1985.