Today is a good day to code

Getting Booted from the Android Dev Google Group

Posted: June 9th, 2009 | Author: irv | Filed under: Companies, Google, android | Tags: , , , | No Comments »

A few months ago, I got banned from the Android dev google group.  You might think it was because I was being a troll, or because I got into an inflamed argument with a moderator, but actually it was for none of the above.  I got booted because, the best I can tell, because I broke protocol and commented on a post that the moderator said was closed.

I say the best I can tell, because I received no warnings, no emails saying, “hey what you did was not OK and this is a warning, the next time you will be banned.”  What was in the comment you ask?  I was responding to a thread about why Google had chosen not to use Jazelle, the Java accelerator built into the G1, and the iPhone.  What it is, is an ARM-7 coprocessor used to speed up interpretation of Java bytecode.  The poster was railing Google for not using it and claiming that Android was not fast enough, and that the only reason they weren’t using the acceleration was that they didn’t want to license Java, etc….  The amazing part is that my response was in defending Google.  I was saying that Android was only at 1.1, and that I was sure that there was a bunch of optimization that was left to be done, also that the Dalvik bytecode was likely not compatible with the Jazelle coprocessor.  I reminded them what the V8 team had done for JavaScript with their assembly language VM optimizations and that perhaps those enhancements would make it into android.

Later in the day when I went back, it was like bam, the moderator has banned you from the group.  My first thought was to get mad, turn off my G1, go back to the iPhone and be done with it, but then I remembered thinking that the moderator’s responses were pretty terse and that maybe they were overworked and angry and banned me for posting to a closed / moved post.  I honestly didn’t know where I was in the maze of Google’s group, I couldn’t tell if I had been redirected to the discussion section or not.  It is frustrating to have a company like Google, who I normally associate with free speech and open discourse, censoring me in that way.  By contrast, I have never been banned from an Apple discussion group, or from any other anything for that matter.  Most of us associate Apple with secrecy and killing off free speech and discourse, but actually I have found that their position on what can be said, and should not be said to be clear and reasonable, and that they are always pretty good about that on their posts.  If the post moves into an area that shouldn’t be there, the moderator deletes the posts, says why they deleted the posts and moves on.  I doubt that they permanently ban their board members.

I have been wanting to port Mides to Android, and to build several applications for it, I have been a huge supporter and advocate of Android in my workplace, where I have some ( very small ) influence over what platforms we support, and to have Google shut me down in this way, makes it difficult for me to continue to convince other developers to build for Android.  I would think that the battle for developers would be where platforms succeed or fail, and to have a company who is steeped in the battle carelessly piss off developers makes no sense to me.  I like Android, and I want to see it succeed, but sometimes I just don’t know.


Cupcake is on Again

Posted: May 22nd, 2009 | Author: irv | Filed under: android | Tags: , , , | No Comments »

Yahoo!!!

OFFICIAL: CUPCAKE IS GO!!!


The TouchBook: The NetBook to End All NetBooks?

Posted: May 21st, 2009 | Author: irv | Filed under: Uncategorized | Tags: , , , , , , , , | No Comments »

The primary problem with my iPhone, G1, iPod Touch, etc… Is that they are too small and have too limited a battery life.  What I have been hoping for, for a very long time is a single slab tablet computer, sort of like a big iPod Touch with a 3G / LTE modem, a soft keyboard, and an open set of programming APIs so that I can make whatever applications for it that I wish.  Ideally it would have a dual core ARM CPU and great battery life, plus the option for a physical keyboard, well it seems that while I was hoping that Apple has done it, Always Innovating has taken matters into their own hands:
TouchBook

The TouchBook will run a variant of an open operating system called OpenEmbedded, a variant of something called the Angstrom Distribution, which I suppose is a distribution of the OpenEmbedded OS.  Although I have only seen the you tube video:

It seems to have the right stuff to be successful.  At $299 for just the touch part, or $399 for the touch part with the keyboard and second battery, the price is right.  The 3D in the video appears to be sufficient to compete with the iPhone, but what it will likely come down two are a couple of things:

  1. Are the APIs polished, or are they as disjointed as the normal Linux programming APIs
  2. Is Apple going to do a large form factor iPod Touch

If Apple is going to do a MacBook Touch, or a MacBook Mini, even at $499 or more, that can run the current crop of iPhone apps as desktop widgets, it will make it difficult for normal people to justify buying the TouchBook over a big iPod Touch.  Hax0rz, evangelists, early adopters, and general geeks like me may buy the TouchBook, but it is going to be an uphill battle for widespread customer adoption with yet another programming environment for developers to adapt their iPhone apps to.

On the other hand, if they were to make a pre-installed Android option available that was running Gnome or something, but could still run Android apps with little to no modification, in the same widget system as was described above, it could be interesting.

I respect what these guys are doing, its something I have thought of doing many times myself, and I might even spring for one if I get a little personal government bail-out money, but I just am afraid that I will crave whatever Apple makes.  Even though I have switched my personal phone over to a G1 and love it, and love coding for it, I still pine after the iPhone, some things are just simpler.   It really has nothing to do with the G1 hardware, while it is ugly as the offspring of sin and feces it functions adequately.  Its the OS that seriously lacks polish in places, and the unavailability of any sort of desktop synchronization mechanism is difficult at times, especially since the iTunes app doesn’t always play ball when dragging large numbers of UN-DRMed files out.

I suppose Google could modify gears to allow Android to tether to some kind of web app / web management system, that would be interesting, but I see that as being in the distant future.  Love it or hate it the iPhone and the iPod Touch, Cocoa Touch is just way ahead of any of its competitors.  If Apple would loosen up on the app store policies, allow 3rd party libraries and scripting languages on the iPhone, I think most of the competition would disappear overnight.  You’d still see the Linux guys pushing stuff for the fringe crowd, but Apple would have the consumer market locked up.

I think that the App Store situation is what is going to hurt Apple the most.  I am only developing for Android because I can’t flush out my app on iPhone, not because I can’t or because its obscene, but only because Apple doesn’t allow PHP, Ruby, and Perl, which is what my application is all about.  I can’t believe I am the only one who is playing by the rules and doing what Apple is making me do, develop for competing platforms.  I’m sure Apple doesn’t and wouldn’t care, my application applies to only a subset of a subset of a subset of the general population, web developers, and isn’t likely to bring in a ton of money for them or me, but I do it because I love the concept of building web apps while mobile.

The TouchBook is really perfect for my application, so after the Android release, I guess I’ll be doing it again for the TouchBook. Here’s to hoping people buy it, and that Apple doesn’t announce a large iPod Touch at WWDC.


Writing a PHP Interpreter for Mides

Posted: May 7th, 2009 | Author: irv | Filed under: PHP, Programming, android, iPhone, java, mides | Tags: , , , , , , , | No Comments »

For the past few weeks I have been working on writing a PHP interpereter for Mides.  As I know that I am not allowed to do it for iPhone, as it would involve downloading and executing scripting code, which is not allowed.  I have only been looking at the tokenizer for the iPhone, while I have been looking at the full monty for Android.

I actually have gotten to the point where the tokenizer is passing a lot of my tests, but there is a lot of ground to cover with PHP. Tommy Carlier’s blog on writing a parser has helped tremendously.  Still, even after getting the tokenizer working, I have to write an interpreter to execute the tokens.  This involves implementing the many methods that PHP has built in, so it will be a while until I get that completely done.

I am pretty frustrated with Mides for iPhone, actually, I wanted it to be a full PHP implementation and editor, but until the Terms and Conditions change it isn’t worth the effort to build an entire PHP interpreter just to have the app rejected. I am still improving the iPhone version, and the next update should be a huge improvement over what is currently there.  I had to remove the nesting because I need the memory for documentation search as well as the PHP tokenizer that I am working on.  Overall, the next update for Mides will make it better, it will be close to what I was hoping for, but it will never be completely what I was hoping for on iPhone.

The Android version of Mides on the other hand is shaping up nicely.  The Android text view supports color so I have some syntax highlighting happening which doesn’t hurt performance on the G1 too badly.  The tokenizer is mostly done, and now I am designing the interpreter.  Development on Android is going a lot faster since I don’t have to worry quite as much about memory leaks, although if you try you can still make them happen.

At any rate that is why there haven’t been any updates for Mides in a while, I have been working on localization, parsers, and interpreters.  I am spending most of my time on the iPhone version of Mides, but it seems that I am getting farther with the Android version, go figure.


From the Horse’s Mouth: Cupcake 1.5 Coming Out for Android

Posted: May 6th, 2009 | Author: irv | Filed under: android | Tags: , , , , | No Comments »

Finally T-Mobile, seriously:

http://forums.t-mobile.com/tmbl/board/message?board.id=Android_MR&thread.id=1


G1 Playback Audio Quality

Posted: February 27th, 2009 | Author: irv | Filed under: android | Tags: , , , , | No Comments »

While the G1 is less polished than the iPhone in many ways, the audio playback is not one of them.

Using the same headphones, and the same 256kbps, 44.1 kHz AAC source, the G1 at maximum volume has far less distortion and noise. At lower volumes there is a noticable increase in spatial realism. It’s interesting, having been in the Apple ecosystem for nearly 10 years, I had gotten used to assuming that Apple’s products would always use the highest quality components and represented the technical state of the art, however I now realize that that may not necessarily be true.

Apple’s design and usability are definitely still market leading, however their component quality can be occasionally questionable. Hopefully the 3rd generation iPhone will set a new standard for pereformance and quality, because if not, I’m going to have some difficulty justifying the price premium.


Idea For Making the G1 Screaming Fast

Posted: February 23rd, 2009 | Author: irv | Filed under: Companies, Google, Programming, android, java | Tags: , , , , , , , | No Comments »

There are a lot of cool things about the G1, but most people don’t talk about he hardware very often. It has a pretty snappy CPU, a good amount of RAM, and expandable storage. The coolest thing about the CPU is that it is a CPU/GPU dual-core combo unit. That gave me some ideas.

I know that Apple is working on their OpenCL that will allow applications on Mac OS X Snow Leopard to leverage the GPU for tasks that use it to advantage, like say floating point math, etc… It abstracts away all of the lower level coding that one would normally have to do for this type of functionality. Nvidia has some APIs for this type of programming, and I believe that Intel does as well. But one of the spaces where I see this as being especially beneficial is in the mobile space for phones and the like. The reason is simple, there is usually no math coprocessor like their x86 counterparts, and while most software doesn’t use it, others, like say speech recognition and image processing could get a huge boost out of it, and at a modest power cost.

What would be awesome is if Qualcomm published some sort of GPGPU language or spec to the Android foundation, and that made it’s way into the Android framework. Then when the GPU wasn’t being used, or when it was being used lightly, it could be used by code in the way one would spawn a thread to be run, but instead of running in the main CPU it could be run in the GPU, and free up the CPU to spend time doing something else.

I’m sure this has already been thought of and discussed by the Android brain trust, but it just occurred to me, and it would be 100% awesome if it made it into the framework.


Wow, the G1 Lets me Talk and Listen at the Same Time

Posted: February 19th, 2009 | Author: irv | Filed under: android | Tags: , , | No Comments »

I just found an additional fringe benefit of using the G1 over the iPhone, I can talk and hear at the same time. It was amazing, I noticed that I could clearly hear background sounds while talking. I guess I had gotten used to having a half-duplex channel for communication, and I had forgotten what a real phone sounds like. Bravo T-Mobile on remembering what the device’s primary function is!


HTML 5 Databases on iPhone

Posted: February 18th, 2009 | Author: irv | Filed under: Apple, Companies, Google, Programming, android, iPhone, java | Tags: , , , , , | No Comments »

Today I as looking into using HTML 5 databases on Android and iPhone. It turns out that the Android browser doesn’t seem to support window.createDatabase at all. It may be that it does work with Gears or something, but I didn’t try it.

What I did find, when enabling the developer menu for iPhone Safari was that in the 2.2.1 firmware, a user can view the databases that are currently stored on their device in the web browser by domain and delete them.

In the detail screen, it shows you how much data is currently stored in it, and it has a max, which appears to be stuck at 5 MB. I wonder if Apple has plans to improve the mobile Safari dev environment to allow for richer web applications at some point in the future when the AppStore revenues have died off a bit.

 

*EDIT*

Actually I did figure out that the G1 uses gears, so I guess they are equal, but gears doesn’t seem to care too much how much space I can use.  I haven’t tried the WorkerPool, or the local caching stuff, but I found another blog where the guy had an icon on his screen for a web-app.


I Got The G1

Posted: February 16th, 2009 | Author: irv | Filed under: Companies, Google, Programming, android, java | Tags: , , , | No Comments »

Yesterday I got the T-Mobile G1. I’ll be putting it through its paces as I work to port Mides IDE to it. So far, so good, however ido have to say that I’m a little slower with the physical keyboard than I anticipated. I’ll be glad when the cupcake firmware comes out and I can use the virtual keyboard.

The apps so far are mostly good, the device is definitely quicker than the iPhone as far as raw hardware performance, but the navigation around the OS is a bit slower. Still, I’m excited to see what I can do with this SDK.

Overall I’d say that the philosophy of the device is different. The G1 and Android are definitely aiming to be a little computer in your pocket, while the iPhone is still an iPod first, which makes it more of an internet appliance than a computer. As such, it makes a direct comparison challenging at best.

The G1 is ugly, and Android is unpolished, but for a company that doesn’t make music players, it is pretty good. More importantly, it fits in better with my way of thinking, and I appreciate the freedom that Google and T-Mobile have given us. Hopefully it will continue to improve, but either way I am pretty happy with it. Hopefully Mides will turn out to be as good as it is in my head for the G1, and eventually the iPhone. Competition is a good thing.