December 19, 2014

G1, Tasty Treats, and Constraint-Based Engineering

donutThis past weekend’s brouhaha over whether the G1 will get Donut or Eclair turned into a full-on hullabaloo when a few mainstream publications picked up on the meme. The posts that appear to have kicked off this discussion are well-researched, but make one key assumption: that because Android 1.5 barely fit on the G1, that Donut is therefore too big.

That is an easy assumption to make…but you know what they say about making assumptions.

Every sort of software engineering has its list of constraints to work within, and techniques for dealing with those constraints. Web application developers, for example, have constraints like “amount of bandwidth” and “number of simultaneous connections” and “uh, guys, is there a business model here?”. Given those constraints, a fair amount of effort has gone into providing solutions, such as content delivery networks, continuations, and…well…OK, not enough work has gone into business models. But you get the point.

Developing operating systems for mobile devices has its set of constraints: limited CPU, limited RAM, limited storage. There is a whole discipline — embedded systems engineering — that deals with this sort of problem all of the time. And, of course, graybeards like me will point out that once upon a time, you had those constraints on any system you touched, and we had to program uphill both ways in the snow, and so on.

There are any number of techniques for dealing with those constraints, mostly involving making the existing code more resource-efficient to free up room for new advances. Projects like OpenWRT, for example, deal with this constantly, because the flash storage in your Linksys router isn’t exactly going to magically increase. If OpenWRT wants to do more, it first needs to do the same with less.

On a strategic level, those techniques will never suffice. The march of progress is inexorable, and you can only squeeze so many bytes out of existing code bases. However, at the tactical level — such as whether Donut can fit on the G1 — those techniques may be sufficient. They may not. However, tactical failure is not a foregone conclusion. We will only know when Android 1.6 ships or some other announcement is made.

Those original posts have great points on the strategic level:

  • The G1’s days are numbered…just like the vast majority of consumer electronics, including truckloads of past non-upgradeable smartphones
  • Given that Android devices will have varying upgrade lifetimes, carriers selling subsidized handsets (e.g., T-Mobile) need to have a plan in place to deal with devices that reach the end of their upgrade stream, to help minimize the complaints that will undoubtedly be lodged if a device stops getting upgrades while still on the subsidy contract

I suspect that we will find out soon whether the presumably-Donut-based Android 1.6 is available for the G1. With luck, we will get more information at that point about which upgrades the G1 will get after that point. Until then…can we all just chill?



  • http://www.skycards.eu/ sky cards

    it would be a great shame if updates stop for the g1, thanks, sky cards

  • dave

    thanks for the logical expalantion and the suggestion to chill. One thing that puzzles me is why no one on any of the various blogs that this topic shows up on has mentioned the fact that the T-Mobile “flagship” device MT-3G has the same 3B chipset with the same RAM limitation. If you buy into the premise that Donut won’t fit on the G-1 chipset then it seems to me that it won’t fit on the MT-3G either.

  • Eric

    g1 better get all the updates, they ned to find a way, money doesnt come from the sky so i didnt pay $200 to get a piece of crap that doesnt update and its not fair to see other smartphones update while the g1 stands by.

  • TareX

    That what you get for releasing one mid-range Android phone only for a year.

  • B.Rose

    I'd just point out that Snow Leopard is a pretty massive update to Mac's OS… and it uses about 8 GIGS LESS storage than the OS's previous incarnation. So it is possible to do more with less. The only question is can/will Android?

  • Pingback: balatong advisiveness azoospermia

  • Pingback: bluestone accresce backbreaking