Remembering "The Dark Side"

Years ago, when I was starting my engineering career (at just about the same time as the HP8510 (automatic) Network Analyzer), I worked for M/A-Com's corporate research. My mentor would jot down some ideas he wanted me to pursue, provide a little scientific guidance and then send me to the lab to experiment. Around this time, a lot of research centered around Gallium Arsenide. Distributed circuit designs that had been applied to PCBs and alumina were being adopted for MMIC interconnects and on-chip passive components. Much of my time was spent using the available design software (SuperCompact or Touchstone) and 8510 to design and test matching, bias and coupling structures scaled for use on GaAs. The job was about science and discovery and it was fun. Who would want to do anything other than research? To do anything else was considered The Dark Side.


At a time when government funding supported the R&D efforts I was involved with, even the idea of working in production was considered moving over to the The Dark Side. High volume testing - where's the science in that? I was not alone in this thinking. Does such "purists" thinking still exist today?


As time went by, I was introduced to another specimen in the corporate food chain. This one talked much faster (and louder) and often dressed differently than the "pure" engineers I worked with. I soon found out that this individual was in product marketing. At one point this marketer had been an engineer, but was led astray, over to The Dark Side.


Eventually I made this journey myself. In product marketing, I was almost immediately surrounded by an even faster and louder talking group of individuals. These people were in sales and as I was informed by my colleagues - these were individuals that had truly crossed over to The Dark Side. Some had even been engineers at one point, if you can imagine that fall from grace !!!


I have not crossed the chasm into sales yet, but I have discovered that salespeople are not evil (for the most part) . Like the research or production engineer or the marketeer, they play a vital role in corporate life and the organization's struggle for survival. Our differences are not so great. In fact, I've heard some of them even bemoan another Dark Side - otherwise known as management.

So do we still live in an environment of mistrust over a Dark Side? Be warned, it may be your eventual career path. Like that hair style you had back in the early 90's, perceptions often become dated with time.




Designing SMS apps for mobile Africa

As is well known, our mission is to organize the world's information and make it universally accessible and useful. We aim to do this through technology, and in Africa, that means developing tools for the mobile phone. Africa has the world’s highest mobile growth rate. Mobile phone penetration is six times Internet penetration -- one third of the population owns a mobile phone and many more have access to one. Most of these devices only have voice and SMS capabilities, which is why we have chosen to focus our initial mobile efforts on SMS.

Today, we are releasing Google SMS in Uganda. Google SMS is a suite of mobile applications which provides access, via SMS, to information on a diverse number of topics including health and agriculture tips, news, local weather, sports, and more.

The suite also includes Google Trader, a marketplace application that helps buyers and sellers find each other. Users can find, "sell" or "buy" any type of product or service, from used cars and mobile phones to crops, livestock and jobs. Google Trader has been designed to help make markets more transparent. Many people in Africa lack access to information and markets beyond their immediate business and social networks. Google Trader allows sellers to post items for sale via SMS, and for buyers to search for such items.


Google SMS Tips is an SMS-based query-and-answer service. After you text a free-form query, Google algorithms restructure the query to identify keywords, search a database to identify relevant answers, and return the most relevant answer. SMS is a very limited medium: each SMS can be no longer than 160 characters, and, unlike the web, allows for one result to be returned in response to a query. Short or ambiguous queries are particularly challenging. For example: we've received queries as brief as "hiv". What exactly is someone asking for: symptoms? Causes? Prevention? Treatment? We not only have to discern intent in order to identify a relevant answer, but we also have to convey information back to the user within the confines of SMS. The challenge is further complicated by the fact that people must pay for each individual SMS message.

These are the sorts of technical challenges that have surfaced in developing SMS Tips, so please don't view it as a finished product. We need to greatly improve search quality and add to the content that we have in the Health and Ag focus areas. Now that Google SMS is live, we're working on improving search quality and the breadth, and depth, of content. As for Tips, we will work to add more focus areas.

Clearly, we're just beginning; there's still much to be done. If you're curious about what Google is doing in Africa, visit the Google Africa Blog. And here's a video about the broader effort initiated by the Grameen Foundation to introduce mobile applications to under-served communities.



Computers Make Us Stupid?

I recently received this from our Jan 09 antenna expert Dr. Raines and thought it was a relevant subject these days:

"Computers Make Us Stupid"

That was a key point, and a direct quote from Prof. Pat Winston of the Electrical Engineering Dept., made to over a thousand returning alums at the MIT reunion on June 6. Looking back over recent events, it certainly seems that this was not an idle, abstract, or rhetorical observation.

On Monday, in Washington, DC, the worst Metro commuter train crash in its 33 year history claimed 9 lives and caused many more serious injuries. The most recent evidence suggests that the train was being driven by an errant computer. When the operator tried to apply the emergency brakes and override the computer, the computer prevailed.

A few weeks ago, an Air France plane disappeared over the Atlantic en route from Rio to Paris. The latest theory is that an airspeed sensor iced over and confused the computer that was flying the plane. As an amateur, instrument rated pilot, I know firsthand that the Airbus aircraft are the fly by wire type, that is, almost entirely operated by computers. From the time the airplane taxis to the takeoff position until after it lands and is on the ground, it is controlled by a computer. A pilot in the cockpit once told me, "We aren't really pilots. We�re just computer jockeys."

Almost two years ago, the entire world banking system approached a complete meltdown from which we are still suffering. The best explanation so far is that derivatives caused it. Warren Buffet calls them �weapons of economic mass destruction.� Well, it wasn't just those derivatives. It was the derivatives coupled with computer controlled trading so that billions of dollars were exchanged in less than a second with each trade.

The evidence suggests that computers are making us stupid as a society. Conversely, perhaps, a dumbed down society is complacently giving up thinking and control to computers. We are turning over major functions and decisions to computers. But who programs the computers? Perhaps, as Forest Gump astutely observed, stupid is as stupid does.


I feel like this has been an ongoing issue since the first electronic calculator was developed. Many people do not bother to perform easy math calculations in their head because they know they can use a calculator.

But on the other hand, computers have greatly advanced our knowledge and standard of living. New hardware and software have accelerated our technology at a fast rate. Our July cover story addresses how RF/microwave software has changed the industry over the years so look for that in mid-July.

What do you think???

Google Voice rolling out new invites

In March of this year we announced the launch of Google Voice for existing GrandCentral users. Google Voice helps you manage your phones and voicemail by unifying all your telephones - including mobile, home, and work phones - with a single phone number and letting you access voicemail via phone, email, or the Web. Today we're pleased to announce that invitations for Google Voice are starting to roll out to everyone who requested an invite. Check out more details on the Official Google Blog.

Reader's Choice

With coverage of the IMS 2009 behind us, now is a good time to take a quick look at what visitors to the Microwave Journal web site have been most interested in (based on page views).

Why now?

Well, the IMS is a time of heavy activity for both company product releases and a curious industry that wants to know who is doing what. So here's the quick run down of the ten most visited web pages since the third week of May.

1. The IMS 2009 Multimedia section. About 1600 "readers" came to see our video interviews shot from the exhibition space. We interviewed representatives from about a dozen companies, covering topics from EM simulation (Ansoft, Agilent and AWR) to miniature passive components (Anaren) to high-voltage LDMOS transistors (Frrescale). We heard about the Narda strongest link contest and why AWR had 3D glasses at their demo stations.

2. Over 1,000 people came to our new products report, proving customers (or competitors) have inquiring minds.

3. Our third most popular feature this month was a news item entitled " Development Report of Power FETs for Solid-state Power Amplifiers from GaAs to GaN Devices". This is timely with all the GaN news coming from the show and our cover story for June - The New Power Brokers. 900 visitors

4. Many site visitors went directly to the news item of choice via our online show daily home page or through a link in our newsletter, but a number of you browsed the master listing of all show news, making it our fourth most visited page at 700 page views.

5 and 6. Our cover stories from the May issue: "IMS in Boston: Reflections from the Past" and June: "The New Power Brokers" were next in line. Our cover story usually takes the top spot each month, but with competition from Show product news and splitting the reporting period over two 2-week periods, these two items slipped in ranking but still had over 1200 page views combined.

7. News of Andrew's expansion of a production plant in China was a popular item among our readers with about 600 page views

8. The technical feature from our May issue: "Frequency Generation and Synthesis: Cost-effective and Power-efficient Solutions" was the only technical article (apart from white papers which were not part of the review) to make the top ten list. Despite appearing in the magazine and online for several weeks, readers were still interested in the subject and continued to click on this feature.

9. More news in the top ten, this time "Rohde & Schwarz at Femtocells World Summit 2009 in London" with well over 500 page views

10. And finally.... The Puzzler. Clearly, microwave engineers like to have fun too.


So while everyone was busy this past month traveling to Boston for IMS and then digging out from a back-log of action items or perhaps you were back in the office the whole time holding down the fort, some of you managed to find the time to stay informed via www.mwjournal.com. Do you think this top ten list accurately reflects the industry's interest?

Announcing the AdSense for Mobile Applications beta

(cross-posted from the Official Google Blog)

You don't have to be a mobile expert to see how smartphones are revolutionizing our daily lives. Lower prices, faster network speeds and unlimited data plans mean that people often reach for their cell phone rather than their computer when they are seeking information. As a result, mobile applications have become more and more popular, helping people find music, make restaurant reservations or check bank balances — all on their phone.

We want to contribute to the growth of these mobile applications, which is why we're happy to announce our beta launch of AdSense for Mobile Applications. After all, advertisers are looking for ways to reach potential customers when they are engaged with mobile content, and application developers are looking for ways to show the best ads to their users. We have already had a successful trial of this service with a small number of partners, and are excited that we can now offer this solution to a broader group.

AdSense for Mobile Applications allows developers to earn revenue by displaying text and image ads in their iPhone and Android applications. For our beta launch, we've created a site where developers can learn more about the AdSense for mobile applications program, see answers to frequently asked questions and sign up to participate in our beta. Advertisers can also learn about the benefits of advertising in mobile applications.

We're excited to open up this beta to more developers, and look forward to offering new features for our mobile advertisers and publishers in upcoming releases. We also want to say a big thank you to the partners who worked with us on the trial stages of this project including Backgrounds, Sega, Shazam, Urbanspoon and more.

Check out this short video of Howard Steinberg, Director of Business Development at Urbanspoon, discussing his experience with AdSense for Mobile Applications.



Posted by Susan Wojcicki, Vice President, Product Management

The Iterative Web App: Swipe-to-Archive and Expanded English Language Support

On April 7th, we announced a new version of Gmail for mobile for iPhone and Android-powered devices. Among the improvements was a complete redesign of the web application's underlying code which allows us to more rapidly develop and release new features that users have been asking for, as explained in our first post. We'd like to introduce The Iterative Webapp, a series where we will continue to release features for Gmail for mobile. Today: Swipe-to-archive and expanded English language support. --Shyam Sheth, Product Manager, Google Mobile.

When we first released the new Gmail for mobile web app, we designed the floaty bar to make it easy to quickly manage your inbox and take action on multiple emails at once. However, we wanted to make it even easier to perform one of the most common actions: archiving.

After reading the subject of an email and the first line of the message, I often know if I don't need to open the email to read the rest. With swipe-to-archive, I can simply swipe my finger across the email in the inbox, either from left-to-right or right-to-left, and then tap on the red 'Archive' button when it appears. Please note, this feature is only available for the iPhone.


We've also expanded the availability of the new Gmail for mobile app to English users in the United Kingdom as well as India. To try out swipe-to-archive and Gmail for mobile, visit gmail.com in your device's browser. To easily access your Gmail account, try creating a home screen link.

Posted by Bikin Chiu, Software Engineer, Google Mobile

Crystal Oscillators Threatened by Si Timing Devices?

I am having IMS2009 withdrawals but came across this ABI Research release that states the crystal oscillator is threatened by a new set of devices grouped under the label "silicon timing solutions." According to research director Lance Wilson, "There�s a growing battle for market share between silicon timing solutions and the traditional quartz oscillator and its derivatives. Right now, silicon timing solutions have about 20% of the market, but ABI Research forecasts that percentage to nearly double within five years."

Virtually every device that contains an IC or generates a radio signal needs these devices. The incentives for equipment manufacturers to switch to silicon timing solutions? They are generally less expensive, more robust, and can integrate other functions onto the chip. But although great strides have been and will be made, they do not yet equal crystal oscillators in accuracy and stability.

In order to maximize their long-term chances of holding market share, many crystal oscillator vendors are focusing on military, aerospace and industrial markets where accuracy is at a premium and buyers are somewhat less price-obsessed. Silicon timing solution vendors, on the other hand, see fertile territories in mainstream computing and consumer electronics with MIDs and netbooks two particularly active new segments.

What do you think???

YouTube Mobile Application in more languages

A few months ago, we launched the YouTube Mobile Application for Windows Mobile and Symbian Series60 phones in US English. Today we're excited to release the app in French, UK English, Italian, Spanish, German, and Dutch. YouTube users who speak these languages can now enjoy features such as faster app start-up and search, faster video streaming, and easier viewing. So now when you watch your favourite videos like Charlie bit my finger, you'll know the interface around them will be spelled properly!

The new Task Queue API on Google App Engine


With release 1.2.3 of the Python SDK, we are psyched to present an exciting new feature - the Task Queue API. You can now perform offline processing on App Engine by scheduling bundles of work (tasks) for automatic execution in the background. You don't need to worry about managing threads or polling - just write the task processing code, queue up some input data, and App Engine handles the rest. If desired, you can even organize and control task execution by defining custom queues. A quick example:




# for each user, add a task to send a custom email message
for u in users:
taskqueue.add(url='/work/sendmail',
params=dict(to=u.email, subject='Hello ' + u.name, body='this is a message!'))

return # finished now, emails will be sent offline when tasks execute

...

# task handler at /work/sendmail, automatically called for each task created above
class MailWorker(webapp.RequestHandler):
def post(self):
mail.send_mail(
'from_me@example.com',
self.request.get('to'),
self.request.get('subject'),
self.request.get('body'))



We're eager to help you learn and experiment with Task Queues. The team recently presented the feature at Google I/O and the video is now available (slides are here). We've also prepared a set of demos to help you get started. And of course, don't miss the feature documentation. The Task Queue API is Python-only for now; we'll have a Java language version available soon.




Please note that the Task Queue API is currently a Labs release - we want to get your feedback on its usability and functionality before finalizing the API. You'll notice that its Python import path currently includes the 'labs' module (google.appengine.api.labs.taskqueue). Before the feature is promoted out of Labs, we may need to:



  • Change the quotas and limits which apply to Task execution (definitely, we hope to raise the number of Tasks you can use per day).


  • Change the API itself if there are usability or functionality issues.


  • Change how we bill for Task Queue usage.





Once we're ready to promote the feature out of Labs, we'll give weeks of notice and provide a transition path for our developers.




Last but not least, the 1.2.3 release is full of other new stuff as well! Stay tuned to the blog for more updates or check the release notes for exciting info on:



  • Asynchronous urlfetch support


  • Django 1.0 support





Visit the Downloads page to get SDK 1.2.3 now!




The Task Queue API is the first milestone of our plan to deliver rich support for offline processing. There's more to come, but we hope the simplicity and power of this first release opens a new range of possibilities for our developers. Try it out and let us know! We'll be watching the Group for your input.



-- The App Engine Team

An Obsession with Size

How Big was this year's IMS? That seems to be the metric that everyone measures the show by. For me, this annual event is almost more than I can handle. Really. Fortunately our staff editors were able to stay on top of all the press releases and keep the online show coverage up to date. As for me, by the last day my head was spinning from all the input and brainstorming and information overload and piling up action items. Not that I'm complaining. I just don't see how bigger could possibly be any better. I already have regrets for the many people I was unable to see or spend quality time with. If you're on that list, please accept my apologies.

Of the meetings I did have and the press conferences I did attend, I was very impressed by Bob Van Buskirk and the entire team at RFMD as they rolled out their new GaN foundry. Bob gave a great talk about what he believed RFMD could bring to the market and specific benefits to future customers. I was also impressed by the quality of questions asked by attendees. And then... I missed my one-on-one meeting with Bob at the RFMD booth due to other meetings running late. See what I mean - it can be over whelming. There is never enough time at IMS.

Responding to the RFMD GaN foundry news, I did hear from the folks at TriQuint who sent a friendly reminder that they have been in the GaN foundry business for a few years and are therefore in a very strong position to offer many benefits to GaN designers. While I did get to exchange personal hellos with the Triquint foundry VP, Glen Riley. My colleague, Pat Hindle took the longer meeting and will be filing the report on their specific activity. I know they had a productive year, so I'm sure there will be lots of news there. The competition between foundries can only mean good things for driving innovation forward.

The RFMD conference presented me with a scheduling conflict. As I was with RFMD, our editors P. Hindle and R. Mumford and publisher C. Sheffres attended a special VIP session with Agilent. While I missed their CTO - Darlene Solomon discuss the many technologies Agilent was pursuing, I was able to later catch up with one of our past Expert Advice columnist , Agilent senior technologist - Joel Dunsmore. Joel did walk me through the latest developments with their nonlinear network vector analyzer (NVNA), the PNA-X and what has been happening with the industry adoption of X-parameters. This is a developing story that the Journal will be paying close attention to.

Nonlinear characterization was also being featured at the Tektronix/Mesuro booth with their active load-pull system and design by "waveform engineering". Rohde & Schwarz also has some activity in this arena as well. stay tuned.

We had a number of meetings with exhibitors who talked about the entire microwave supply chain, what these companies were doing to improve the supply chain and how the industry itself is evolving. Without giving too much away, this is a topic that will be giving special editorial coverage in the not too distant future. Also on this topic - Cobham is thinking outside the box and is evolving the way they do business with prime contractors that could actually transform the industry. Think efficiency on a global scale.

All my friends in the software market have been busy and were on hand to show their latest and greatest. Ansoft was showing off the beta version of HFSS12 (almost a teenager, imagine that!!), Agilent had demos of the latest features in ADS and a very impressive EMPro demo. Sonnet, AWR, CST, Remcom and others were also "in the house" with their latest releases. We ended up shooting a few videos with the folks at AWR as well as Agilent and Ansoft. Please check them out on our online show daily.

The high power transistor guys were in full effect, with Freescale pushing their LDMOS technology higher in frequency, Integra manning a very busy booth, Eudyna with a large central presence, HVVi and Microsemi all making noteworthy news.

My final thoughts on the show? The BCEC is a wonderful convention center and all exhibitors did a great job showing off their stuff; the weather was lousy (bad news for all those chartered harbor cruises) , but could have been worse; the parties were a blast and I enjoyed catching up with so many people while meeting new friends. With that, my hat's off to Fred Schindler and everyone on the steering commitee. I had a front row seat to what goes into organizing such an event. It is time consuming and it ain't easy. You folks did a great job. Thank you.

Search by voice and transit directions come to Google Maps on Android

Today we're releasing an upgrade to Google Maps for Android-powered phones. We've added a whole host of new features and fixed a few issues with Google Latitude.

You can now search Google Maps for Android using your voice, making it easier than ever to look up places while on the go. Whether you're searching for an address, a business, or nearby windsurfing spots, just speak your query and Google Maps will find it. Our voice recognition engine currently understands English in American, Australian, and British accents. After you search, you'll see a map of places. To help you decide where to go, we've improved our business listings to include content such as store hours, prices, ratings, and reviews.

We also added transit and walking directions to Google Maps for Android. You can now get directions using public transportation in over 250 cities, including New York City and San Francisco. If you're looking for the best route on foot, use walking directions to take advantage of pedestrian-only pathways and to avoid one-way restrictions - just in time for summer!

Google Maps for Android includes some big improvements to Google Latitude. We fixed an issue that caused background location updates to periodically stop for some of you. Now, once you select "Detect your location" from the Latitude privacy menu, your location will continue to update as long as your phone is on.

You may also notice a new experimental feature called Updates that lets you communicate with friends and post messages. Start Latitude and click the "Updates" tab to shout out updates at friends when they're at interesting locations, start a conversation when you're at your favorite restaurant, or just add more details to your Latitude location for your friends to see. Your friends will also need to download this new version of Google Maps for Android in order to use this experimental Updates feature -- they will not get your messages otherwise.

Unlike past Android software updates for the T-Mobile G1 or HTC Magic, the new Google Maps release won't be automatically pushed to your phone over the next few days. Instead, the upgrade is available for download in the Android Market. Just search for "Google Maps" and install today.

UPDATE: For those of you looking for Street View in Google Maps on Android, you'll find that we've integrated it more tightly with the rest of the app. Street View is no longer its own map mode. You can now check out Street View directly from any search result where imagery is available. You can also long-press any point on the map, in map view or satellite view, and you'll see a Street View thumbnail wherever imagery is available.

By Ole CaveLie and Chandan Pitta, Software Engineers

IMS 2009 Post Show Impressions

According to IMS2009, the annual conference and exhibition attracted thousands of designers, researchers, developers, academics and executives in the microwave and RF industry to the Boston Convention & Exhibition Center in Boston. Based on preliminary attendance numbers, more than 9,000 participants attended and 559 companies were represented.

�This past week in Boston has been an enormous success in every respect,� said Fred Schindler, General Chair, IMS2009 and Director, RF Micro Devices Boston Design Center. �Our attendance results would be great any year, but given these difficult economic times they are outstanding.� Microwave Journal interviewed Fred on the first day of the show and you can see his interview below:




Based on initial registration data, technical registration was 2,676, an 11 percent increase over 2008 registration and exhibit-only registration numbers indicate 2,131 participants, an 83 percent increase over 2008. IMS2009 attracted 559 exhibiting companies, also an 11 percent increase over the number of exhibitors in 2008. According to preliminary results, the total number of IMS2009 participants, including exhibitor booth staff and guests, was 9,316 attendees, an 11 percent increase over 2008 participation.

Pretty good results and proves that Boston is a great location and venue (of course I am biased living here). Look for our show wrap up in a few days on our Online Show Daily and continued coverage of news and products from the show for the next couple of weeks. See you at IMS2010 which will be held May 23-28 at the Anaheim Convention Center in Anaheim, CA.

IMS 2009 Demos

I did numerous formal sponsored video interviews on Tues morning which are now live on our Online Show Daily. But I came across a couple of other interesting demos during the show and took a video of a couple of them with my cheap but convenient Flip video. Below is a Keithley demo showing their new Vector Network Signal analyzer (just turn the volume up).

Another interesting product that is very cool is the laser etching machine from LPKF which can in seconds etch a metal pattern into a substrate like a PCB or ceramic board. It etches the pattern by scoring the surface and then heats the surface to peel away the metal which is removed by an air knife. It can do both prototypes and low volume production so it is versatile.

Snack time with the new iGoogle for Android and iPhone

We like iGoogle because it lets us "snack" on interesting information all day long. We can read a little bit of news here and there, glance at finance portfolios, take a look at the weather forecast, and then do a Google search. It doesn't require a big commitment of time and energy — it's simply there for us whenever we need it. This kind of availability is even more important on a phone, where it can take a long time to surf. That's why iGoogle is so convenient on mobile devices. When you're waiting in line, you can check iGoogle on your phone for a quick "info snack" — even in areas with mediocre network coverage.

But speed isn't everything. Many of you have told us that you wanted to use more of your iGoogle gadgets on your phone. You wanted to see your tabs, too. We read your blog comments and forum posts and put your requests at the top of our to-do list.

Today, we're excited to roll out an improved beta version of iGoogle for the iPhone and Android-powered devices. This new version is faster and easier to use. It supports tabs as well as more of your favorite gadgets, including those built by third-party developers. Note that not all gadgets — like those with Flash — will work in mobile browsers.

One of our favorite new features is the in-line display of articles for feed-based gadgets. That means you can read article summaries without leaving the page. You can also rearrange gadget order or keep your favorite gadgets open for your next visit. None of these changes will mess up the layout of gadgets on your desktop computer, so feel free to play around and tune your mobile experience.



The new version of iGoogle for mobile is available in 38 languages. To try it out, go to igoogle.com in your mobile browser and tap "Try the new Mobile iGoogle!" Bookmark the page or make it your home page so you can return to it quickly. Finally, please fill out our survey by clicking on the "Tell us what you think" link at the top of the new home page. We'll continue to use your feedback to make iGoogle even better.

Update on 6/12 @ 8:35 AM: Video added. Check it out!

App Engine @ Google I/O goodness for all to enjoy

Back in April when we launched Java support, we gave the first 10,000 developers who signed up access to the new runtime. In case you haven't heard, we recently announced at Google I/O that App Engine for Java signup is now open. We're excited to see more developers joining our community!





For those who missed Google I/O or want a refresher on the sessions, the videos are now posted online. From building a complex and scalable app on App Engine to offline processing, there are a lot of things to learn from these sessions. You can find a more detailed write up of the App Engine sessions in this post to the Google Code Blog, but here's the complete list:


Apart from the sessions, we also had a Developer Sandbox featuring App Engine partners and customers. We got a chance to interview and ask many of them to share their experience developing on App Engine. Check out these video interviews to get more insight to App Engine:






Last but not least, we've also made available the handy Python cheat sheet we gave out during Google I/O. You can download it here. We want to thank our partners and the App Engine developer community for a fantastic Google I/O 2009! It was great meeting those of you who were there. We look forward to the next year!








Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.

Display your public Latitude location on your Google Profile

Last month, we launched the new Google public location badge, which lets you publish your Latitude location to your blog or website. Starting today, you can choose to display your badge location on your Google profile. Your Google profile can include online photos, links to your blog or other online profiles, and ways for people to contact you. It also gives you greater control over what people find when they search for your name on Google. Don't have a Google profile? Go to www.google.com/profiles to get started.



To add your location to your Google profile, you first need to enable the Google public location badge. Please keep in mind that your location will be shared publicly with anyone who visits your public profile page, for as long as the badge is enabled. Once you've enabled the Latitude badge, go to the Edit profile page and check the box next to 'Display my Latitude location.' Your Google profile will now display your most recent location if it was updated in the last 24 hours. Note that only your location, not the badge itself, will appear on your profile.


The badge is currently only available in the US, but will be available in more countries soon.

Posted by Peter Harbison, Product Marketing Manager

Changing Quotas To Keep Most Apps Serving Free

Since App Engine launched, our goal has been to offer substantial free hosting resources to as many developers as possible. As previously announced, we are changing our free resource quota levels, effective on June 22nd. Our target level of free support has been 5 million page views per month for a reasonably efficient web application.

When we launched App Engine, we were intentionally generous in our free quotas, both because we didn't know resources usage of a typical request, and because we didn't offer a billing feature to allow developers to buy more resources for a higher-traffic app. Since our billing feature launched in February, developers with high-traffic applications can purchase additional resources far beyond our original fixed free quotas. Having been live for more than a year, we now have good empirical data on the average resource consumption per request, so we're able to set our quotas to more accurately support our 5 million page views target.

This change in the free quotas offered to every application is intended to allow us to continue to offer substantial free application hosting to any interested developer. We have grown a lot in the last year, with over 80,000 applications created, and with these changes to our free quotas, more than 90% of these applications will continue to serve completely free. To empirically determine reasonable levels for our quotas, we measured resource usage for all applications running on App Engine over a recent 7-day period. For each of the quotas, we took the highest daily average resource usage per HTTP request out of the 7-day period:

CPU: 0.14 CPU-seconds/request
Outbound data transfer: 6149 bytes out
Inbound data transfer: 803 bytes in

Multiplied by 5 million requests spread over a 30 day month, these per-request resource statistics translate to daily resource usage of 6.4 CPU-hours and 1.02 gigabytes of outbound data transfer. We top off the numbers by offering 6.5 CPU-hours and 1.07 gigabytes of outbound transfer. Though typically inbound data transfer is a small fraction of outbound data transfer, we made inbound and outbound data transfer symmetric to ease initial data uploads.

Finally — what do we mean by reasonably efficient applications? Simply put, efficient applications avoid unnecessary computation or data transfer, and two techniques common to efficient App Engine applications are the use of caching headers and memcache. Caching headers in an HTTP response prevent a user's browser from needlessly re-downloading information that hasn't changed, both speeding up the user experience and saving bandwidth. Similarly, memcache keeps frequently accessed data in a memory cache on App Engine servers, rather than always reading from disk in the Datastore, therefore saving CPU usage and Datastore load.

Again, these changes ensure we can keep our continuing promise to make it free to get started with App Engine.


The Iterative Web App - Faster Address Auto-complete and Keyboard Shortcuts

On April 7th, we announced a new version of Gmail for mobile for iPhone and Android-powered devices. Among the improvements was a complete redesign of the web application's underlying code which allows us to more rapidly develop and release new features that users have been asking for, as explained in our first post. We'd like to introduce The Iterative Webapp, a series where we will continue to release features for Gmail for mobile. Today: Faster address auto-completion and keyboard shortcuts. --Shyam Sheth, Product Manager, Google Mobile.

At Google we're always looking for a way to do things faster. Today, we're announcing two improvements that will speed up your Gmail for mobile experience.

The first improvement is faster address auto-completion. This means that as you begin typing the first few letters of your friend or colleague's name or email address, Gmail for mobile will quickly display possible contacts. We sped up this process by reusing previously fetched matches in subsequent searches.

The second improvement is that we've enabled keyboard shortcuts for Android-powered devices with a physical keyboard. Now you can use all those familiar Gmail keyboard shortcuts to quickly move through your inbox. For example, if you're reading an email you can press 'u' to return to the inbox or 'n' to move to the next conversation.

To try out Gmail for mobile, visit gmail.com in your mobile browser. This version of Gmail for mobile supports iPhone/iPod Touch OS 2.2.1 or above, as well as all Android-powered devices, and is available for US English only. To make it easy to access your Gmail account, try creating a home screen link.

Posted by Matthew Bolohan and Andrew Grieve, Software Engineers, Google Mobile

Old Friends at IMS/MTT-S

IMS/MTT-S is where you run into a lot of old friends and associates. You never know who you might find on the show floor. MWJ editor David Vye and myself ran into retired tech editor, Frank Bashore, who taught me well. We did a quick interview with Frank who gave his approval to the way we doing things so far. Who did you run into at the show?

10 things you (probably) didn't know about App Engine

What could be better than nine nifty tips and tricks about App Engine? Why, ten of course. As we've been participating in the discussion groups, we've noticed that some features of App Engine often go unnoticed so we've come up with just under eleven fun facts which might just change the way that you develop your app. Without further ado, bring on the first tip:

1. App Versions are strings, not numbers

Although most of the examples show the 'version' field in app.yaml and appengine-web.xml as a number, that's just a matter of convention. App versions can be any string that's allowed in a URL. For example, you could call your versions "live" and "dev", and they would be accessible at "live.latest.yourapp.appspot.com" and "dev.latest.yourapp.appspot.com".

2. You can have multiple versions of your app running simultaneously

As we alluded to in point 1, App Engine permits you to deploy multiple versions of your app and have them running side-by-side. All the versions share the samedatastore and memcache, but they run in separate instances and have different URLs. Your 'live' version always serves off yourapp.appspot.com as well as any domains you have mapped, but all your app's versions are accessible at version.latest.yourapp.appspot.com. Multiple versions are particularly useful for testing a new release in a production environment, on real data, before making it available to all your users.

Something that's less known is that the different app versions don't even have to have the same runtime! It's perfectly fine to have one version of an app using the Java runtime and another version of the same app using the Python runtime.

3. The Java runtime supports any language that compiles to Java bytecode

It's called the Java runtime, but in fact there's nothing stopping you from writing your App Engine app in any other language that compiles to JVM bytecode. In fact, there are already people writing App Engine apps in JRuby, Groovy, Scala, Rhino (a JavaScript interpreter), Quercus (a PHP interpreter/compiler), and even Jython! Our community has shared notes on what they've found to work and not work on the following wiki page.

4. The 'IN' and '!=' operators generate multiple datastore queries 'under the hood'

The 'IN' and '!=' operators in the Python runtime are actually implemented in the SDK and translate to multiple queries 'under the hood'.

For example, the query "SELECT * FROM People WHERE name IN ('Bob', 'Jane')" gets translated into two queries, equivalent to running "SELECT * FROM People WHERE name = 'Bob'" and "SELECT * FROM People WHERE name = 'Jane'" and merging the results. Combining multiple disjunctions multiplies the number of queries needed, so the query "SELECT * FROM People WHERE name IN ('Bob', 'Jane') AND age != 25" generates a total of four queries, for each of the possible conditions (age less than or greater than 25, and name is 'Bob' or 'Jane'), then merges them together into a single result set.

The upshot of this is that you should avoid using excessively large disjunctions. If you're using an inequality query, for example, and you expect only a small number of records to exactly match the condition (e.g. in the above example, you know very few people will have an age of exactly 25), it may be more efficient to execute the query without the inequality filter and exclude any returned records that don't match it yourself.

5. You can batch put, get and delete operations for efficiency

Every time you make a datastore request, such as a query or a get() operation, your app has to send the request off to the datastore, which processes the request and sends back a response. This request-response cycle takes time, and if you're doing a lot of operations one after the other, this can add up to a substantial delay in how long your users have to wait to see a result.

Fortunately, there's an easy way to reduce the number of round trips: batch operations. The db.put(), db.get(), and db.delete() functions all accept lists in addition to their more usual singular invocation. When passed a list, they perform the operation on all the items in the list in a singledatastore round trip and they are executed in parallel, saving you a lot of time. For example, take a look at this common pattern:

for entity in MyModel.all().filter("color =",
old_favorite).fetch(100):
entity.color = new_favorite
entity.put()

Doing the update this way requires one datastore round trip for the query, plus one additional round trip for each updated entity - for a total of up to 101 round trips! In comparison, take a look at this example:

updated = []
for entity in MyModel.all().filter("color =",
old_favorite).fetch(100):
entity.color = new_favorite
updated.append(entity)
db.put(updated)

By adding two lines, we've reduced the number of round trips required from 101 to just 2!

6. Datastore performance doesn't depend on how many entities you have

Many people ask about how the datastore will perform once they've inserted 100,000, or a million, or ten million entities. One of the datastore's major strengths is that its performance is totally independent of the number of entities your app has. So much so, in fact, that every entity for every App Engine app is stored in a singleBigTable table! Further, when it comes to queries, all the queries that you can execute natively (with the notable exception of those involving 'IN' and '!=' operators - see above) have equivalent execution cost: The cost of running a query is proportional to the number of results returned by that query.

7. The time it takes to build an index isn't entirely dependent on its size

When adding a new index to your app on App Engine, it sometimes takes a significant amount of time to build. People often inquire about this, citing the amount of data they have compared to the time taken. However, requests to build new indexes are actually added to a queue of indexes that need to be built, and processed by a centralized system that builds indexes for all App Engine apps. At peak times, there may be other index building jobs ahead of yours in the queue, delaying when we can start building your index.

8. The value for 'Stored Data' is updated once a day

Once a day, we run a task to recalculate the 'Stored Data' figure for your app based on your actual datastore usage at that time. In the intervening period, we update the figure with an estimate of your usage so we can give you immediate feedback on changes in your usage. This explains why many people have observed that after deleting a large number of entities, theirdatastore usage remains at previous levels for a while. For billing purposes, only the authoritative number is used, naturally.

9. The order that handlers in app.yaml, web.xml, and appengine-web.xml are specified in matters

One of the more common and subtle mistakes people make when configuring their app is to forget that handlers in the application configuration files are processed in order, from top to bottom. For example, when installing remote_api, many people do the following:

handlers:
- url: /.*
script: request.py

- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
login: admin

The above looks fine at first glance, but because handlers are processed in order, the handler for request.py is encountered first, and all requests - even those for remote_api - get handled by request.py. Since request.py doesn't know about remote_api, it returns a 404 Not Found error. The solution is simple: Make sure that the catchall handler comes after all other handlers.

The same is true for the Java runtime, with the additional constraint that all the static file handlers in appengine-web.xml are processed before any of the dynamic handlers in web.xml.

10. You don't need to construct GQL strings by hand

One anti-pattern that comes up a lot looks similar to this:

q = db.GqlQuery("SELECT * FROM People "
"WHERE first_name = '" + first_name
+ "' AND last_name = '" + last_name + "'")

As well as opening up your code to injection vulnerabilities, this practice introduces escaping issues (what if a user has an apostrophe in their name?) and potentially, encoding issues. Fortunately,GqlQuery has built in support for parameter substitution, a common technique for avoiding the need to substitute in strings in the first place. Using parameter substitution, the above query can be rephrased like this:

q = db.GqlQuery("SELECT * FROM People "
"WHERE first_name = :1 "
"AND last_name = :2", first_name, last_name)

GqlQuery also supports using named instead of numbered parameters, and passing a dictionary as an argument:

q = db.GqlQuery("SELECT * FROM People "
"WHERE first_name = :first_name "
"AND last_name = :last_name",
first_name=first_name, last_name=last_name)

Aside from cleaning up your code, this also allows for some neat optimizations. If you're going to execute the same query multiple times with different values, you can useGqlQuery .bind() to 'rebind' the values of the parameters for each query. This is faster than constructing a new query each time, because the query only has to be parsed once:

q = db.GqlQuery("SELECT * FROM People "
"WHERE first_name = :first_name "
"AND last_name = :last_name")
for first, last in people:
q.bind(first, last)
person = q.get()
print person


Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.

Palm Pre launching with Google Search, Google Maps, and YouTube

As mobile technology geeks, we're really excited to see a new smartphone launch from our friends at Palm. Palm Pre phone's webOS works great with Google Search, Google Maps, and YouTube, which are built into the device. You can also easily sync your Gmail, Google Calendar, and Google Contacts to Palm Pre.

We're big fans of Palm Pre phone's universal search feature. Just start typing a query from the home screen (no need to launch the browser). If your query doesn’t match any contact info or the name of an application on your phone, you’ll be prompted to search either the web with Google, local places on Google Maps, articles on Wikipedia, or Twitter.



What's neat about launching Google Maps in this way is that it will use your location to conduct a search for nearby businesses and points of interest (if you choose to allow Location Services, of course). Similar to some other mobile phones, Google Maps is built into Palm Pre phone's operating system -- you'll notice a Google Maps icon amongst the phone's built-in applications. However, the implementation of Google Maps on Palm Pre is actually very different from how we built Maps on platforms like Android or BlackBerry. Palm is calling its operating system webOS for good reason -- all applications running on webOS leverage a WebKit-based rendering engine for content, which made it easy to port Google Maps to the platform. You can use familiar Google Maps features such as My Location, local search, driving directions, and traffic.



Palm Pre also includes a YouTube application that Palm built using Palm’s Native application MoJo SDK, and much like a web app, it uses HTML, CSS, and JavaScript. YouTube on Palm Pre makes it easy to watch your favorite videos. When you play a video, it auto-rotates to landscape orientation to take full advantage of the phone's screen.



Palm Pre wouldn't be complete without productivity functions and we're happy to report that Gmail, Google Calendar and Google Contacts work well on the device. Simply enter your account name and password and Palm Pre will sync your email, calendar events, and contacts to the device. Palm Pre supports the IMAP IDLE protocol so you can enjoy push Gmail.

This is just the beginning for Google applications on Palm Pre. The good news is that since our applications are built using web standards along with Palm's MoJo SDK, we can iterate quickly and provide new functionality, often without requiring you to install anything new. We look forward to rolling out new features for our mobile applications at a rapid clip.

Update 6/8/09, 05:04pm - If you're interested in learning how to set up your Pre with your Gmail, Google Mail or Google Apps for Your Domain account, please visit our help center to learn more.

Introducing the orkut Mobile App

About a year ago, we introduced the orkut mobile site to help everyone on orkut stay in touch on the go with scraps, status updates, and photo viewing. Shortly after that, we optimized the orkut mobile experience for S60 phones, allowing photo uploads and click-to-call features. Now, we're excited to introduce the first downloadable orkut mobile app, with even more features to keep you connected to your orkut friends and phone contacts.

The orkut Mobile App, available for most Java-enabled devices, offers some fun new ways to interact:

- Take a photo on your phone and upload it right to your orkut album.
- Share photos with orkut friends or SMS the photos to phone contacts not yet on orkut.
- Call or SMS any of your orkut friends or phone contacts without leaving the app.
- View scraps, updates from friends, and photo albums in offline mode.

    

 

Of course, you'll still have all the features of orkut mobile at your fingertips, including writing/reading scraps, updating your status, searching for users, viewing/accepting friend requests, and more!

To install the beta version of the app, visit m.google.com/orkut on your phone. While the app is free to download and use, your mobile provider's regular data charges will apply. Check out more details in our help center, and feel free to leave feedback about your orkut mobile experience in the orkut Help Forum.

Hope to see you in orkut soon, and don't forget to keep your orkut profile updated with your mobile number!

Exhibition Seminars and Talks

In addition to the conference sessions, workshops and tutorials, there are many short practical and application specific seminars and talks happening this year on the exhibition floor. The largest is the MicroApps which will have its own forum area at the front of the exhibition hall and will be presenting the technology behind commercial products and their capabilities. It is being run by Agilent and has a good number of test and measurement talks along with others being presented by participating companies.

M/A-COM Technology Solutions is running 10 minute Tech Talks in their booth (2214) covering various subjects such as PIN diodes and switches, Frac-N synthesizers, amplifiers and other design tips.

Peregrine (booth 1822) is also doing a daily series of seminars about their unique products and technologies that come out of their UltraCMOS RFIC process. Their antenna tuning technology using digitally tunable capacitors looks very interesting.

Join Sonnet Software�s experts at Booth #1002 for free 20 minute in-booth, hands-on classes to learn about Sonnet Suites Version 12, including Sonnet Lite and Sonnet�s seamless integration to AWR�s Microwave Office, Agilent�s ADS and Cadence Virtuoso. All participants will receive a free copy of Sonnet LitePlus (a $495 value).

I am sure there are more we have not heard about yet. Let us know if your company is doing any seminars or talks at the exhibition this year.

The importance of being immediate - Google Mobile App now for Nokia S60 smartphones

As a user experience designer I like to take every opportunity to better understand the issues that get in the way of people making the most of their mobile phones. The development of Google Mobile App for Nokia S60 smartphones, which launched today, has provided an opportunity to address three aspects of an issue we hear about on a regular basis: immediacy.

1. Immediacy of access

We know from our users that navigating through menus introduces an unwanted delay. Our quick key mechanism launches the application directly from the home screen, making search, Google Maps, Gmail, and other Google mobile services available immediately.


The quick key reminder (left) and the app showing your current location (right)


2. Immediacy of location
Google Mobile App for Nokia Series 60 smartphones comes with location awareness built in. If you use the My Location feature, you'll get local search results that relate to where you are. You can opt in or out of this at any time, via the Settings menu.


Search suggestions that combine with your location to give local search results


3. Immediacy of query formulation

We have adopted a dual approach to help make query formulation quick and efficient. First, your search history is readily available so that it's easy to repeat queries. Second, we offer query suggestions based on what has been entered so far to get you to your results as quickly as possible.

Search history (left) and search suggestions (right)

Additionally, we like to work with feedback about earlier versions of our products, such as the quick key launch feature. We found that some users didn't need a home screen reminder, while others liked having it there. So in Google Mobile App, we added an item in Settings to let people choose what best suits them.

Google Mobile App can be downloaded from http://m.google.com on your phone's browser. Give it a try and please keep all the feedback coming - your input is invaluable to making sure we get products and features right.

Places Directory app for Android

As an engineer based in Taipei, I frequently travel to Google headquarters in Mountain View. When I'm there, I'm always looking for local businesses to try out, like coffee shops and restaurants. I also forget where the banks and ATM's are. While Search and Maps can help me find the information I need, it's nice to have the option to browse a directory of places, as well. For instance, if I need some money, do I search for an ATM or a bank? If I had a short list of business categories to choose from, I could just scan it to choose the right one. After talking to some colleagues, we decided to devote our 20% time to building an Android application that figures out what places are nearby and arranges them in a directory format. Friends and colleagues tested the app and found it handy, so we decided to launch "Places Directory" on Android Market as a Google Labs product.

As the name implies, Places Directory allows you to browse nearby places in categories like Restaurants, Movie Theaters, Hotels and Banks. You'll see distance and directions to the destination, and if you tap on the listing, we'll show ratings and photos. You can also call the business or view its location on Google Maps.



To download Places Directory to your Android-powered phone, search for "Places Directory" on Android Market. We currently support US English and Chinese. Try it out and let us know what you think by providing feedback in the comments below. In the meantime, I look forward to going back to Mountain View and finding some good local restaurants.

Getting Hyped Up for IMS 2009

As we get ready for IMS 2009 and plan our schedules, let's take a look at the best promos, contests or giveaways being advertised by exhibitors that you don't want to miss out on.

IMS 2009 is giving away a chance to win Red Sox/Yankees tickets if you use the promotional code from the insert in the April issue of the Microwave Journal for your exhibition registration. Reactel is giving away Red Sox/Yankees tickets each day in a drawing by stopping by their booth (1504). And Skyworks (1818) is also having a drawing for Red Sox/Yankee Club Seat tickets or alternatively you can select to receive an iPod.

Hittite (booth 1007) is giving away one of their new signal generators which is probably the highest value item being given away at nearly $8,000.

Mimix (booth 1114) is giving away a Kindle 2 wireless reading device in their World Traveler giveaway where you visit other participating companies. They put some good thought into this raffle.

Narda (booth 1537/1637) is doing a very interesting give away for a Sony laptop which will go to the one who can show a picture of the oldest Narda component still in use and all entries will receive a 4 GB flash drive in their Strongest Link contest.

If you attend one of M/A-COM Tech's in-booth seminars (booth 2214), you can be entered into a drawing for a Nintendo Wii which is a nice prize for a 10 minute session.

The exhibitors seem to be going all out for the show this year and have created some very interesting giveaways to attract you to their booth. Red Sox/Yankees tickets seem to be the hot item, but I also like the idea of the Kindle 2 being given away by Mimix. Let me know what you have come across or what your company is doing for giveaways.

In Search of Economic Indicators

There seems to be a direct (and perhaps obvious) connection between the length of my driving commute to work and the state of the economy. I have a pretty lengthy drive to the office, right along the famed Route 128 that surrounds greater Boston. This highway once known as America's Technology Highway can be more of a parking lot than a freeway. However, as the economy began its slide last November, the traffic became noticeably lighter. While I am grateful for the absence of traffic jams, there have been times that I felt uncomfortable knowing why there were so few cars on the road. The traffic never got to the level you would expect in an episode of the twilight zone, where the central character is alone in the world, but it did occasionally feel � eerie.

Well, I never thought I would say it, but I am a little relieved to see traffic starting to pick up again. The past few weeks have most certainly shown an uptick in cars on the road. I could only attribute this to some change in the economy as we have not entered the summer driving months yet. Couple this personal observation with what I hear in the news and I am started to believe we may have indeed turned a corner.

Now - if traffic is to return to former levels, I will attribute it to a recovered economy and be glad. Although, I will probably get cranky over the return of longer commutes. If it happens to you as well, might I recommend you download one of our pre-IMS podcasts to listen to in your car as you sit in your respective traffic jam. Happy commuting.



Listen/download MWJ Podcasts >>

Expanded Blog Coverage for IMS


Our IMS 2009 blogs take a look at the conference from the perspective of exhibitors Freescale and AWR


Follow RFLeonard Blog (Freescale)






In addition, our May Expert Advice is given by Gayle Collins of Freescale who writes a perspective on upcoming IMS Power Amplifier papers and the potential impact of different papers on the field.