While Verizon has the honor of getting 2.1 out to American Android users first, they also have the misfortune of screwing up something in the Droid that slowing down its graphical component frame rate in half. Applications that would run smoothly are having performance impacts.
"So what’s going on? Both phones have virtually no other apps running (just what’s necessary for the operating system to function). The test application is doing about as little as it possibly can do, at least from a game perspective. There is a loop that draws a black background bitmap, then the moving dot, and finally the text to display the frame rate statistics. Most games have a lot more work to do for each frame than this, so it would seem that the best frame rate one would consistently be able to achieve on a 2.1 Droid is 30 FPS. In case you are new to game design, that’s not a particularly impressive number. 60 FPS is the accepted standard for smooth game play."
In other words, by rushing 2.1 out the door instead of doing proper regression testing, the Droid's 2.1 update is causing issues. This is what happens when professionals aren't allowed to properly test thoroughly an upgrade & make sure that every component, subsystem, & line of code is in proper order.
"Another problem with the update is that it messes up any Gallery shortcut that you have on your home screen. Fortunately, the fix to that one is simple - delete the Gallery shortcut and re-create it. By the way, I’ve noticed choppiness on the Droid with the 2.1 update on a few other apps in the Android Market too, such as PapiJump, Pong Multi Touch, and Ethereal Dialpad (in swarming mode). It’s not as dramatic as it is in Phil’s program but you can tell if you watch it long enough."
Also, testing compatibility with applications is another test that takes time. Considering the rather large number of applications in the store, somewhere now over 30,000 apps, this isn't something that can be done in a few weeks and done right.
Now you're asking why did I post this about Verizon's Moto Droid here? For a number of reasons.
1. Like Verizon, Sprint uses CDMA. Only versions 1.6, 2.0, & 2.1 have native CDMA support. Sprint had to splice in CDMA support into the Hero & the Moment. This is probably one of many areas in which testing issues might arise.
2. The regression testing to make sure that mistakes eliminated in previous versions also takes a long time. One mistake in code anywhere & you can recreate a problem. Infact, the current version & previous versions of Firefox are having that issues because Mozilla didn't do proper regression testing.
3. Those of us who are Samsung Instinct users know what a botched, untested, & rushed update can do? I know a few other Sprint phones with improperly tested updates. Go read the Samsung Instinct boards on the MR-6 update. Trust me, it's a LOOOONNNGGGG one because of how badly it screwed up the Instinct. Sprint had to take their time to figure what went wrong, fix it, test it properly, & release an MR-7 to undo MR-6. This is precisely why I don't want Android 2.1 for the Moment or the Hero rushed out the door. You guys will give Sprint major complaints if they get this wrong & there's no reason to rush something out the door.
4. I've noticed so many Android 2.1 post after post. What if Sprint did launch the 2.1 update & it got something wrong? Phones get bricked, instabilities in the OS, app's crashing, etc. A good number of people have been pretty rude with people who just want this done right. I think it's unfair that the boards are constantly being spammed with request for 2.1 updates, multiple threads have been created on the same topic & not shut down, & just plain rudeness about not getting the answer. The problem is with software that you can't just pin things down so precisely. When bugs & issues are resolved, sometimes new ones come up. But so many people don't understand how a professional IT environment works, they are blasting anyone who says chill out & wait.
I really don't want to be waiting on a long fix for a botch 2.1 update. I'm hoping by seeing the Moto Droid users pain that we Sprint users can learn something & wait for a really rocksolid update to be done. THE RIGHT WAY.
That's my two cents, take it or leave it.
Message was edited by: jogomez721
Message was edited by: jogomez721
I wonder if the kernel just needs to be recompiled. This is something I've seen when upgrading the kernel on many linux distros and is corrected once the kernel is recompiled. Though there shouldnt be any difference in the hardware since it's a phone from a single manufacturer rather than a customizable PC with an array of different parts.
I suspect that might be correct. However, considering the fact that the Nexus One which runs Android 2.1 works just fine without graphics issues, leads me to believe that it was a lack or improper regression testing. The original Android 2.0 (Eclair) build had a similar graphics issue that was fixed in 2.01 build. While I understand everyone's desire to get 2.1, I just want it done right the first time. Let's keep in mind that the Nexus One & Hero are built by HTC, the Droid by Motorola, & the Moment by Samsung. I bet each of them does something differently in the graphics either hardware wise or software wise. It's not apples to apples here. (Pardon the pun.)
Also, the Hero & the Droid don't have AMOLED screens, but the Nexus One & the Moment both do. There is a significant technology difference in those two phones & how it's executed.
This is the thing about technology. That's why I wish more people would participate in software beta's & see how software evolves overtime from rough platforms to mature platforms. Sometimes by walking though the process, most people end up with a great appreciation & understanding of what it takes to get something done well. I'd have to say participating in the Windows 7 beta & RC candidate testing really opened my eyes as to the process. Kind of what Sprint is doing right now to get Android 2.1 ready to rollout for all of us.
I also bet that this is the first time that Sprint & Verizon are dealing with upgrading out in the wild Android sets. I'm sure many of them are getting familiar with Linux, Android to some degree, & outside of the traditional phone updates. It must be daunting but interesting process.
Being a software developer myself i agree with you whole heartedly on the importance of testing software. After reading a lot of the posts about the 2.1 release and seeing peoples complaints, the fact that they are testing is not what has everyone upset. Its the fact that the whole issue has been pretty much treated as if it was an informational "black hole".
Hero owners (myself included) have legitimate problems with their phones and have been given nothing for information other than "soon". All these people are looking for is some kind of status update, and "soon" is not a status update. If Sprint or HTC would just be upfront about it and say "This is what we have been doing, we have tested x, y, and z, but found an issue with z and are expecting a new build to remedy this". I could almost bet know a lot of people would be satisfied and wouldnt be as concerned with the "we want a hard date given to us". How do I "know" people would be a lot more receptive? The proof is in the xda forms, when critical bugs are found in the custom roms you dont see near the backlash as you do towards sprint/htc. Its not because people are thinking "well this is what i have to expect when i mod", its because the rom developers are always very forthcoming with information..."we recognize the problem, we see that it has to do with x, and we are working on a fix". Keeping already unhappy customers in the dark is probably the worst thing any company can do.
I do want to rebuttle to a couple of your points though. While they are optimistic, any decent software developer will agree with these points.
On the point you made about fixing bugs may end up causing all new bugs. You are absolutely correct and I myself have seen it with my own code before. The problem with that point is there is never ever going to be a "bug free" software. never has been and never will be. The software out there that people would consider bug free is really just that the bugs that are present in the software are so small that they do not impact the day to day operation. This goes with what ive been told about software since my first dev class "90% of a programs functionality is written for only 10% of its users", which means there is a lot of functionality in an application that goes unused most of the time. If Sprint is doing their testing and sending it back to htc and expecting a perfect release, then the 2.1 will never see the light of day.
In regaurds to you point about the Instinct debacle. That i think more had to do with how the updates were done and not so much on them being rushed. They tried to do too much at once and something went horribly wrong with a feature that was on the list of functionality that is used daily by most users. Doing incremental and smaller updates (especially as it pertains to fixes) would be much more affective and have lesser of an impact.
The most ideal way to handle this with as little impact on your devices, software, and customers would be to make a list of the "mission critical" functions and make sure that those work 100%. Do not add any new "last minute" functionality into a release schedule as this will always cause the date to slip. Directly after the release has been pushed the developers start making small fixes to anything that was not in the mission critical list and still found to be not functioning 100% and start working on patchs. these smaller patches could probably be released in 2 week intervals. In the case of HTC Sense UI this would be even better. since Sense UI is not one large program that runs on Android (which i think is a common misbelief). Sense is nothing more than replacement apps for already existing apps (New home screen, new dialer, improved contacts app, improved gallery, etc). With this being the case it would make a lot of sense (pun not intended) for them to make use of the market to be able to make smaller updates and bug fixes and get them out to their customers faster. I was very excited a while back when i saw that HTC had placed a few new widgets on the market. If they were able to make use of the market for updates, they may very well have been able to push a fix for the picture message bug a long time ago.
This would be similar to what is becoming more popular in the software development world and is know as "Agile" development. Using this type of development allows groups of developers to code, test, and push smaller pieces of functionality a lot faster. The company I work for has 2 week development cycles. at the end of the 2 weeks we have completed piece of functionality that has been fully tested and capable of being deployed.
If Sprint/HTC/Samsung would be able to do something to this affect after the 2.1 release I could bet that they would start seeing a turn around in the unhappy customers with the end result potential customers seeing lots of happy current customers and transitioning into new customers. Imagine how rapidly Sprint would grow in customer base if they could put some weight on their phone vendors to start turning out smaller updates (fix 1 or 2 problems) within a 2 - 3 week time period.
So to sum up what my long winded post says...
1. Sprint, be more forthcomming with your customers about what exactly your working on and put an end to the black hole.
2. Samsung/HTC/And all other phone manufacturers, maybe its time to take a look at your development processes. If its truly taking this long to fix bugs and push an update, then something is definitely wrong with the way things are currently being done and its time to make a change. You guys make awesome hardware(in my opinion HTC hardware is the best overall in quality), lets see you start doing the same with your software!
Thank you! I appreciate your post. I actually learned something from it. I am sure that if Sprint did go by incremental fixes with the Instinct, I'm pretty sure it would have made for a much improved user experience. I also agree whole heartedly that no piece of software made by humans will ever be 100% bug free. What I mean by "done right" is no major showstopper bugs, video quality not reduced by changes, & a generally stable build with a consensus by the development team that the release build is good enough for the general public.
However, constantly asking for status changes isn't going to change Sprint's way of doing things. In their mind, giving away any part of their testing might jeopardize their business. Not for the end user, but more for the publicly traded stock. If they announce something with regards to the testing & have some sort of delay, setback, or negative spin, it could further cause Sprint's stock to be devalued based upon the information. We've seen this in regard to Steve Jobs' health leaks impacting Apple's stock. So it's more of a defensive play for their stocks. I don't agree with it, but I do understand that Sprint is a business.
Part of the issue here with 2.1 is that Android is relatively new as you know. Google realises they have some hurdles to clear & I think both the next versions FroYo & Gingerbread will do a lot to help clear them. However, as you said, a lot of people don't understand the process. I have been in a IT environment where I did both participate & observe the testing process. I've also been in situations where mass computer devices were imaged across a vast network. Based upon these experiences, I am just trying to give insight as to what goes on behind the scenes.
Thanks for your post & I'm glad to get your unique point of view from the software development side. I think the more informed post that are on these boards, the better we serve both as customers & people who love technology in general.