tag:blogger.com,1999:blog-27054247693989008452024-03-14T03:58:17.670+00:00UK Developer BlogNews for developers in the UK.Unknownnoreply@blogger.comBlogger18125tag:blogger.com,1999:blog-2705424769398900845.post-32056149604543517192011-06-08T19:49:00.001+01:002020-07-15T19:12:30.979+01:00UK Developer Blog Signing Out<div dir="ltr" style="text-align: left;" trbidi="on">Thanks to all of you who have kept up with this blog over the past few years. After reviewing our communications strategy, we feel a Europe-wide blog is the best way to communicate our developer efforts in the region as many stories are relevant to more than one country. Going forward, we'll be communicating UK Developer news over at <a href="http://eurodev.blogspot.com/">the Europe Developer Blog</a> (formerly the EMEA Blog), so please check there for current news and updates. We're still committed to covering matters of importance to the UK Developer community and so far this year, the Europe Developer Blog has already <a href="http://eurodev.blogspot.com/2011/03/something-old-something-new-technology.html">included</a> <a href="http://eurodev.blogspot.com/2011/04/google-apps-for-education-at.html">several</a> <a href="http://eurodev.blogspot.com/2011/05/interactivism-accessibility-hack.html">UK-focused</a> <a href="http://eurodev.blogspot.com/2011/01/google-maps-and-fusion-tables-london.html">stories</a>. We hope to see you over on the Europe Developer Blog soon and of course, there's always plenty of developer news on the <a href="http://googlecode.blogspot.com/">the Google Code Blog</a> too.<br />
<br />
<span class="post-author">Michael Mahemoff</span><br />
<span class="post-author">Google Developer Relations</span></div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2705424769398900845.post-64825582749172809642009-02-10T15:29:00.005+00:002020-07-15T19:12:31.086+01:00Quick and easy MyMap trick<span style="font-family:arial;">One of my favourite uses of Google Maps is a feature called My Maps, which allows users to create customised maps - for example, a map of my favourite London pubs. My Maps can contain many different kinds of information, from as simple placemark to a media-rich mashup of embedded images and videos. These maps also have specific URLs that can be shared with other users - so I can invite my friends to add their favourite pubs to my London pubs map too.</span> <span style="font-family:arial;"><br /><br />The other day, I was making a map to share with some other </span><span style="font-family:arial;">Googlers and found that I needed to duplicate the MyMap I had already created. I needed to split some of the content into two separate maps. I asked around and no one seemed to know how to do it, though</span><span style="font-family:arial;"> it seemed there ought to be an easy solution. After a few trials, I found a simple way to do it. It wasn't rocket science, but may be handy for you at some point especially given the simplest solutions are often the hardest to find!</span> <span style="font-family:arial;">Here is the work-around I found:<br /></span> <ol style="font-family: arial;"><li>Open the My Map you want to copy</li><li>Right click and copy the "View in Google Earth" link to create a KML file.<br /></li><li>Create a second My Map</li><li>Then import the copied URL or upload the KML from your desktop using the "import" button above the map title.</li></ol><span style="font-family:arial;">I hope this can save some of you the trouble of re-creating My Maps! You can also learn more about the My Maps feature <a href="http://maps.google.co.uk/help/maps/tour/#create_a_map">here</a>. </span> <span style="font-family:arial;"><br /><br /><span style="color: rgb(102, 102, 102);">Kenzo Fong Hing</span></span> <span style="color: rgb(102, 102, 102);font-family:arial;" ><br />Product Marketing Manager - Google Maps & Google Earth</span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com12tag:blogger.com,1999:blog-2705424769398900845.post-50407314796898387412009-02-02T15:54:00.002+00:002020-07-15T19:12:31.060+01:00Another great #geomob<span style="font-family:arial;">Hard to believe, but Thursday night was only the second meeting of the </span><a id="zcl1" title="London Geo/Mobile Developers Meetup Group" style="FONT-FAMILY: arial" href="http://gmdlondon.ning.com/" target="_blank">London Geo/Mobile Developers Meetup Group</a><span style="font-family:arial;">. With 60 UK developers in attendance, the organiser (Christopher Osborne) put together another really fun and compelling event.<br /><br /></span><div style="FONT-FAMILY: arial">I took the stage first and had a chance to outline a few Maps features which are particularly useful for mobile developers. The talk covered Location Detection on the <a id="ywcl" title="desktop" href="http://code.google.com/apis/ajax/documentation/#ClientLocation" target="_blank">desktop</a> and <a id="ej63" title="mobile" href="http://code.google.com/apis/gears/api_geolocation.htm" target="_blank">mobile</a>, <a id="k64p" title="Static Maps" href="http://code.google.com/apis/maps/documentation/staticmaps/" target="_blank">Static Maps</a>, <a id="l80u" title="Reverse Geocoding" href="http://code.google.com/apis/maps/documentation/services.html#ReverseGeocoding" target="_blank">Reverse Geocoding</a>, the <a id="d17i" title="Google Maps Library for GWT" href="http://code.google.com/p/gwt-google-apis" target="_blank">Google Maps Library for GWT</a> and, finally, the <a id="qu8." title="Google Earth API" href="http://code.google.com/apis/earth/" target="_blank">Google Earth API</a>.<br /><br /></div><div style="FONT-FAMILY: arial">We also presented a couple of new tools: the <a id="xkxo" title="AJAX APIs Playground" href="http://code.google.com/apis/ajax/playground/" target="_blank">AJAX APIs Playground</a> (an interactive tool for learning the Google APIs), and the <a id="c.6o" title="Embedded KML Viewer Gadget" href="http://www.gmodules.com/ig/creator?synd=open&url=http://hosting.gmodules.com/ig/gadgets/file/114026893455619160549/embedkmlgadget.xml" target="_blank">Embedded KML Viewer Gadget</a> (perfect for displaying KML on your pages - no code required!). <div style="FONT-FAMILY: arial"></div></div><div style="FONT-FAMILY: arial"><br /></div><div style="FONT-FAMILY: arial">Our bit was followed by three very interesting talks, proving once again the vibrancy of the UK Developer scene:</div><div style="FONT-FAMILY: arial"><ul><li>Andrew Scott, founder of <a id="b:.z" title="rummble.com" href="http://www.rummble.com/" target="_blank">rummble.com</a> explained how they're using trust networks to help users find great venues (fast!) when they're on the move<br /></li><li>Alfie Dennen, the man behind <a id="kzqs" title="Moblog" href="http://moblog.net/home/" target="_blank">Moblog</a>, talked about his latest work on 'The Internet of Places', taking us on a fascinating journey via <a id="bqx0" title="Britglyph" href="http://map.britglyph.com/" target="_blank">Britglyph</a>, <a id="tp_r" title="What is the question?" href="http://moblog.net/findme/" target="_blank">What is the question?</a>, and <a id="x3::" title="Stopped Clocks" href="http://www.stoppedclocks.com/" target="_blank">Stopped Clocks</a><br /></li><li>Terry Jones, Creator of <a id="vvte" title="Fluid DB" href="http://www.fluiddb.com/" target="_blank">Fluid DB</a>, talked about his 11-year project creating "the database with the heart of a wiki"; check out <a id="a0md" title="Scobleizer" href="http://scobleizer.com/2008/12/05/the-unfundable-world-changing-startup/" target="_blank">Scobleizer</a> to find out more</li></ul><br /><div style="FONT-FAMILY: arial"><div style="FONT-FAMILY: arial"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3501/3237663626_6130540509.jpg?v=0"><img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 500px; CURSOR: pointer; HEIGHT: 333px; TEXT-ALIGN: center" alt="" src="http://farm4.static.flickr.com/3501/3237663626_6130540509.jpg?v=0" border="0" /></a></div></div><br />All in all, another fun and thought-provoking evening in a <a id="e48s" title="fantastic location" href="http://www.wallacespace.com/wallacespace.html" target="_blank">fantastic location</a>. Thanks to Christopher for organising, and to Yahoo! for sponsoring the food and drinks. And thanks to Roman for the great photo above and <a href="http://www.flickr.com/photos/sigizmund/sets/72157613092708059/">capturing the evening</a>.<br /></div><div style="FONT-FAMILY: arial"><br /></div><div style="FONT-FAMILY: arial">See you next time!</div><div style="FONT-FAMILY: arial"><br /></div><div style="COLOR: rgb(51,51,51); FONT-FAMILY: arial">Russell Middleton</div><div style="COLOR: rgb(51,51,51); FONT-FAMILY: arial">Customer Solutions Engineer</div>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com7tag:blogger.com,1999:blog-2705424769398900845.post-29427844935492792822009-01-20T13:25:00.021+00:002020-07-15T19:12:30.953+01:00Crimes against code and using threads in AndroidIn my career as a software engineer, I have encountered plenty of example code. As a Google Developer Advocate for Android, part of my job involves creating example code for illustrating certain concepts and APIs.<br />Most of the time, people will take a snippet of example code and bend it to their will until it no longer resembles the original. But that's the whole point: the sample code has served its purpose. It has illustrated some key concept and hopefully helped someone build some great software.<br /><br />Last week I met with a developer who was working on a prototype application for a potential client of his. In the course of our discussion, he told me that he has been continuing to use some example code I provided him with, as-is, without modification. This of course made me very happy, but more importantly, made me think that perhaps this code might also be useful to other Android developers out there.<br /><br /><span style="font-weight: bold;">WARNING:</span> This is about to get a bit technical, if you or your children grow faint at the sight of code, please stop reading now.<br /><br /><span style="font-weight: bold;">The tricky problem of multithreaded programming with a Graphical User Interface (GUI)</span><br /><br />Every GUI widget framework I have ever encountered has been single-threaded (usually called "the main thread" or "the gui thread.") Learning how best to use other threads and have them "play nicely" with your widget framework of choice can be tricky. The main problem with most widget frameworks (including Android) is that you can't call methods on widget objects if your code is running in a non-GUI thread.<br /><br /><span style="font-weight: bold;">Horrible crimes against code that I have committed in the past</span><br /><br />Way back in the 90's I was wrestling with the Swing UI framework. I was trying to write applications that used a "background" thread to do some long running thing. This included some horribly hacky things, like putting Thread.sleep() statements in my code at certain places until it kinda-sorta worked (the really frustrating thing about calling UI methods from non-GUI threads is that sometimes it does actually work!)<br /><br />That was until I learned about <pre>javax.swing.SwingUtilities.invokeLater(Runnable thingToDo) </pre> You can call the <pre>invokeLater()</pre> method from any non-GUI thread and it will invoke your <pre>thingToDo.run()</pre> method in the context of the UI thread, which means that your Runnable object can do things like update a progress bar etc.<br /><br />In the Android framework, the <pre>android.os.Handler</pre> class does the same thing. The way you use it is slightly different, though. If you create an android.os.Handler object in the context of the GUI thread (in the onCreate() method of an activity, for example) then you can use that handler instance in the context of another thread in order to do your UI work.<br /><br /><span style="font-weight: bold;">My little code pattern</span><br /><br />I decided to reuse a code pattern that I developed years ago for doing multithreaded GUI programming, and here it is:<br /><pre><br />public interface GUITask {<br />void executeNonGuiTask() throws Exception;<br />void after_execute();<br />void onFailure(Throwable t);<br />}<br /></pre><br />The basic idea behind this is that <span style="font-family:courier new;">executeNonGuiTask()</span> is invoked from a non-GUI thread. If it returns without throwing an exception, the <span style="font-family:courier new;">after_execute()</span> method will get called<br />from the GUI thread (this is important). If, on the other hand, executeNonGuiTask() throws an exception, that exception will be passed to the onFailure() method, again in the context<br />of the GUI thread.<br /><br />Sometimes you need to do something that might take more than a handful of milliseconds (download a file, talk to a web service, compute the <a href="http://en.wikipedia.org/wiki/Mahalanobis_distance">mahalanobis distance</a> between data points etc.) If that something takes a human-noticable period of time, you'll want to do that activity on a non-GUI thread in order to keep the UI responsive. That something will either complete successfully, or it will fail for some reason (IOException on a network thread, trying to invert a singular matrix, etc.) If it completes, you will most likely want the end user to know about this, so you will probably want to do something with the UI. If it fails for some reason, you will also<br />probably want to affect the UI (even if it is to display a message to "try again later"), which is why after_execute() and onFailure() are always invoked in the context of the UI thread.<br /><br /><span style="font-weight: bold;">All you need is one thread</span><br /><br />Another thing I have found in my own forays into multithreaded UI programs, is that you typically only need one non-UI thread to do your background processing. One technique which<br />has worked well for me is to have a "task queue" which is essentially just one thread that I can "feed" Runnable objects to. If I "feed" 3 Runnable objects to my task queue, that task queue<br />will execute the first, then the second and then the third Runnable object that has been "queued up".<br /><br />Here's the code:<br /><br /><pre><br />public class TaskQueue {<br /> private LinkedList<Runnabl> tasks;<br /> private Thread thread;<br /> private boolean running;<br /> private Runnable internalRunnable;<br /> <br /> private class InternalRunnable implements Runnable {<br /> public void run() {<br /> internalRun();<br /> }<br /> }<br /> <br /> public TaskQueue() {<br /> tasks = new LinkedList«Runnable»();<br /> internalRunnable = new InternalRunnable();<br /> }<br /> <br /> public void start() {<br /> if (!running) {<br /> thread = new Thread(internalRunnable);<br /> thread.setDaemon(true);<br /> running = true;<br /> thread.start();<br /> }<br /> }<br /> <br /> public void stop() {<br /> running = false;<br /> }<br /> <br /> public void addTask(Runnable task) {<br /> synchronized(tasks) {<br /> tasks.addFirst(task);<br /> tasks.notify(); // notify any waiting threads<br /> }<br /> }<br /> <br /> private Runnable getNextTask() {<br /> synchronized(tasks) {<br /> if (tasks.isEmpty()) {<br /> try {<br /> tasks.wait();<br /> } catch (InterruptedException e) {<br /> Log.e("androidx", "Task interrupted", e);<br /> stop();<br /> }<br /> }<br /> return tasks.removeLast();<br /> }<br /> }<br /> <br /> <br /> private void internalRun() {<br /> while(running) {<br /> Runnable task = getNextTask();<br /> try {<br /> task.run();<br /> } catch (Throwable t) {<br /> Log.e("androidx", "Task threw an exception", t);<br /> }<br /> }<br /> }<br />}</pre><br /><br />This code is entirely generic Java code except for the use of android.util.Log (which could easily be removed). To use it, just create a new TaskQueue, call the start() method,<br />then "feed" it Runnable objects by calling taskQueue.addTask(myTask); when finished, just call taskQueue.stop();<br /><br /><span style="font-weight: bold;">Back to my little pattern</span><br /><br />The TaskQueue class above is really just meant to be a building block, a piece of code that can be used by other pieces of code. Here is the code that bridges the gap between the TaskQueue class above, the android UI framework and the GUITask interface I described earlier:<br /><br /><pre><br />import android.os.Handler;<br />import android.os.Message;<br />import androidx.LogX;<br /><br />public class GUITaskQueue {<br /> private static final int HANDLE_EXCEPTION = 0x1337;<br /> private static final int HANDLE_AFTER_EXECUTE = 0x1338;<br /> private TaskQueue taskQ;<br /> private Handler handler;<br /> private static GUITaskQueue singleton;<br /><br /> public static GUITaskQueue getInstance() {<br /> if (singleton == null) {<br /> singleton = new GUITaskQueue();<br /> singleton.start();<br /> }<br /> return singleton;<br /> }<br /><br /> private GUITaskQueue() {<br /> taskQ = new TaskQueue();<br /> handler = new MyHandler();<br /> }<br /><br /> public void start() {<br /> taskQ.start();<br /> }<br /><br /> public void stop() {<br /> taskQ.stop();<br /> }<br /><br /> public void addTask(GUITask task) {<br /> taskQ.addTask(new GUITaskAdapter(task));<br /> }<br /><br /> /**<br /> * Adds a task with an associated progress indicator. The indicator's showProgressIndicator() gets<br /> * called immediately then the hideProgressIndicator() gets called before the GUITask's<br /> * handle_exception() or after_execute() method gets called.<br /> */<br /> public void addTask(ProgressIndicator progressIndicator, GUITask task) {<br /> if (progressIndicator == null) {<br /> addTask(task);<br /> } else {<br /> addTask(new GUITaskWithProgress(task, progressIndicator));<br /> }<br /> }<br /><br /> private static class GUITaskWithProgress implements GUITask {<br /> private GUITask delegate;<br /> private ProgressIndicator progressIndicator;<br /><br /> GUITaskWithProgress(GUITask _delegate, ProgressIndicator _progressIndicator) {<br /> delegate = _delegate;<br /> progressIndicator = _progressIndicator;<br /> progressIndicator.showProgressIndicator();<br /> }<br /><br /> public void executeNonGuiTask() throws Exception {<br /> delegate.executeNonGuiTask();<br /> }<br /><br /> public void onFailure(Throwable t) {<br /> progressIndicator.hideProgressIndicator();<br /> delegate.onFailure(t);<br /> }<br /><br /> public void after_execute() {<br /> progressIndicator.hideProgressIndicator();<br /> delegate.after_execute();<br /> }<br /> };<br /><br /> private static class GUITaskWithSomething<T> {<br /> GUITask guiTask;<br /> T something;<br /><br /> GUITaskWithSomething(GUITask _guiTask, T _something) {<br /> guiTask = _guiTask;<br /> something = _something;<br /> }<br /> }<br /><br /> private void postMessage(int what, Object thingToPost) {<br /> Message msg = new Message();<br /> msg.obj = thingToPost;<br /> msg.what = what;<br /> handler.sendMessage(msg);<br /> }<br /><br /> private void postException(GUITask task, Throwable t) {<br /> postMessage(HANDLE_EXCEPTION, new GUITaskWithSomething(task, t));<br /> }<br /><br /> private class MyHandler extends Handler {<br /> @Override<br /> public void handleMessage(Message msg) {<br /> switch (msg.what) {<br /> case HANDLE_EXCEPTION:<br /> GUITaskWithSomething<Throwable> thingie = (GUITaskWithSomething<Throwable>) msg.obj;<br /> thingie.guiTask.onFailure(thingie.something);<br /> break;<br /><br /> case HANDLE_AFTER_EXECUTE:<br /> GUITask task = (GUITask) msg.obj;<br /> try {<br /> task.after_execute();<br /> } catch (Throwable t) {<br /> LogX.e(t);<br /> }<br /> break;<br /> }<br /> super.handleMessage(msg);<br /> }<br /> }<br /><br /> private class GUITaskAdapter implements Runnable {<br /> private GUITask task;<br /><br /> GUITaskAdapter(GUITask _task) {<br /> task = _task;<br /> }<br /><br /> public void run() {<br /> try {<br /> task.executeNonGuiTask();<br /> postMessage(HANDLE_AFTER_EXECUTE, task);<br /> } catch (Throwable t) {<br /> postException(task, t);<br /> }<br /> }<br /> }<br />}<br /></pre><br /><br />To use the above code, just call GUITaskQueue.getInstance().addTask(myTask) where myTask is an object that implements GUITask.<br /><br /><span style="font-weight: bold;">Until next time...</span><br /><br />I hope this has been helpful for those of you interested in multithreaded programming on Android. Feel free to use any of the above code in any project you like, but please keep in mind that Google and I cannot be held responsible if your giant killer robot malfunctions because of a bug in the example code (also, if you have a giant killer robot, can I take it out for a spin?) As always, drop us a comment below with your questions, comments or finished code to share with the world.<br /><br />Mike Jennings<br />Android Developer AdvocateDeveloper Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com11tag:blogger.com,1999:blog-2705424769398900845.post-48164820324340334072009-01-15T10:20:00.005+00:002020-07-15T19:12:31.047+01:00Fun with Android at Google London<span style="color: rgb(0, 0, 0);font-family:arial;" >Last week we held a 2 day Android hack session here in the Google London office (January 7th and 8th to be exact). Google supplied the space, the wifi, the cookies and most importantly, the coffee!</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br /><br />We had technical people from various companies show up and join in on the fun. It was a pretty relaxed event, more in the style of an "unconference." We had a few presentations about particular aspects of the Android SDK that people might not otherwise know about. Then we spent the remainder of the time hunched over our laptops, exchanging information and trying to avoid spilling the coffee.</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br /><br />I was lucky enough to sit next to a graphic artist from <a href="http://www.last.fm/">last.fm</a> who created an awesome icon for a blogger app I'm writing that will allow Bloggers to blog from their G1 (big thanks Matt Brown!)</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;" ><br />If you own a G1, I've posted an incomplete version of my Android blogger app in the Android Market under Applications | Social | A-Blogger otherwise stay tuned to this blog and I'll share the source code once it is relatively complete (software is never fully complete though, is it?)</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br /><br />My Blogger app was written entirely using publicly documented APIs, if you're a software developer, you can check out the Blogger API at <a href="http://code.google.com/apis/blogger/docs/2.0/developers_guide_protocol.html">http://code.google.com/apis/blogger/docs/2.0/developers_guide_protocol.html</a> and code your own app!</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br /><br />One tip I thought I'd share with all those Eclipse users out there, if you download the Android source from <a href="http://source.android.com/">http://source.android.com/</a> and look for 'View.java.' Copy that file to</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;" >/sdks/android-sdk-mac_x86-1.0_r2/sources/android/view/View.java (assuming your Android SDK has been installed at "/sdks" on your computer) and the next time you are in Eclipse</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;" >working on your Android app, you can "control-click" (or "apple-click") on the word 'View' where you see "extends View" in your code and Eclipse will open up View.java</span><span style="color: rgb(0, 0, 0);">. </span><span style="color: rgb(0, 0, 0);font-family:arial;" >(word to the wise, the View.java that is opened will probably be slightly newer or slightly older than the version that was used to build android.jar in the SDK, but I have found</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);font-family:arial;" >that incredibly useful anyway)</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br /><br />All in all it was a pretty fun event. </span><span style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);font-family:arial;" >At the end of the second day, a few of us went to the pub around the corner ("The Victoria") and had quite a few laughs and discussed the general awesomeness of </span><a style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: arial;" title="The Peep Show" href="http://en.wikipedia.org/wiki/Peep_Show_%28TV_series%29" id="s81g">The Peep Show</a><span style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);font-family:arial;" > (being a transplanted Canadian, I only just discovered this wonderful TV show over the holidays). </span><span style="color: rgb(0, 0, 0);font-family:arial;" > We are hoping to have lots more informal hack sessions this year and hope to see you there. Stay tuned for info on upcoming events.</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br /><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;" >Mike Jennings</span><span style="color: rgb(0, 0, 0);font-family:arial;" ><br />Android Developer Advocate</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;" class="post-author" ></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com11tag:blogger.com,1999:blog-2705424769398900845.post-59671169155290597392008-12-03T14:43:00.003+00:002020-07-15T19:12:31.073+01:00#Geomob meetup at Google London<span style="font-family: arial;font-family:arial;font-size:100%;" >On a dark November evening, there were some dazzling minds at work at the first meeting of </span><span style="font-size:100%;"><a style="font-family: arial;" href="http://gmdlondon.ning.com/" id="d-.l" target="_blank" title="Geomob Ning Page">#Geomob</a></span><span style="font-family: arial;font-family:arial;font-size:100%;" > (aka the London Geo/Mobile Developers Meetup Group) which we were delighted to host here at the Google London office. The group was put together by a freelance developer, </span><span style="font-size:100%;"><a style="font-family: arial;" href="http://gmdlondon.ning.com/profile/ChristopherOsborne" id="sc0p" target="_blank" title="Christopher Osborne Ning Profile">Christopher Osborne</a></span><span style="font-family: arial;font-family:arial;font-size:100%;" >, who came along to our </span><span style="font-size:100%;"><a style="font-family: arial;" href="http://google-ukdev.blogspot.com/2008/09/developer-day-london-videos-and.html" id="vmwz" title="Google Developer Day">Google Developer Day</a></span><span style="font-family: arial;font-family:arial;font-size:100%;" > at Wembley back in September.<br /><br /></span><span style="font-size:100%;"><br /><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3275/3079866844_0e83c4f179.jpg?v=0"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 367px; height: 274px;" src="http://farm4.static.flickr.com/3275/3079866844_0e83c4f179.jpg?v=0" alt="" border="0" /></a><span style="font-family: arial;">The evening kicked off with half an hour of chatting with friends old and new. Following the informal beginning, we heard three thought-provoking talks by Gary Gale (Head of UK Engineering, Yahoo! Geo Technologies) who spoke about Yahoo! Fire Eagle, Nick Black, left, (Founder, Cloudmade) who discussed "Five Things <span style="font-family: arial;">Online Maps Can't (Yet) Do", and finally Andrew Grill (Mobile Advertising Evangelist and owner of the </span></span><a style="font-family: arial;" href="http://www.andrewgrill.com/blog/" id="irj9" target="_blank" title="London Calling">London Calling</a><span style="font-family: arial;"> blog), who gave his thoughts on Mobile Advertising Trends.</span></span><br /><br /><span style="font-family: arial;">All three speakers prompted lively discussions which highlighted the huge amount of activity and interest in the Geo/Mobile space (and how much of it's happening right here in London!).</span><br /><div style="font-family: arial;font-family:arial;" class="Ih2E3d"><span style="font-size:100%;"><br />Chris has assembled a fantastic, extremely knowledgeable and diverse group of people, and turn out for the first event was excellent: almost forty developers, including people from Yahoo!, Microsoft, Open Street Map, the Financial Times, as well as smaller startups and freelancers. Congratulations to him on an excellent first event. There are more photos and videos from the night on his <a href="http://gmdlondon.ning.com/" id="xfpk" target="_blank" title="Ning page">Ning page</a> - and if you're interested in coming along to future events, why not sign up?</span><span style="font-family: arial;font-family:arial;font-size:100%;" ><br /><br />We're always looking for opportunities to hang out with the Developer community. If you're already running a meetup or thinking of putting one together, drop us a comment below; we'd love to join your events. We look forward to hosting and attending more of these evenings in the months to come.</span><span style="font-size:100%;"><span style="font-family: arial;"> </span></span><br /><br />See you next time!<br /></div><span style="font-family: arial;font-family:arial;font-size:100%;" >Russell Middleton<br />Customer Solutions Engineer<br /></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com2tag:blogger.com,1999:blog-2705424769398900845.post-84392387333163718632008-11-17T12:44:00.006+00:002020-07-15T19:12:31.140+01:00OpenSocial family grows in EMEA<span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;" >It's been two exciting months for the OpenSocial community in Europe with lots of announcements at the Google Developer Days in London, Paris, Munich, Madrid, Milan, Prague, Moscow and Tel-Aviv (wow, that's a lot of nice cities!)</span><div style="background-color: rgb(255, 255, 255); font-family: arial;"><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 0, 0);"> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px; color: rgb(0, 0, 0);"> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="color: rgb(0, 0, 0);font-size:100%;" >As a reminder, OpenSocial </span><span style="color: rgb(0, 0, 0);font-size:100%;" ><span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">is </span></span><span style="color: rgb(0, 0, 0);font-size:100%;" > a set of common APIs for building social applications <span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">that </span></span><span style="color: rgb(0, 0, 0);font-size:100%;" >provide a common infrastructure for the social web. <span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">Using OpenSocial,</span></span><span style="color: rgb(0, 0, 0);font-size:100%;" > both developers and websites <span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">can</span></span><span style="color: rgb(0, 0, 0);font-size:100%;" > focus resources on their unique features rather than on dealing with different types of plumbing. <span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">Taking into account the</span></span><span style="color: rgb(0, 0, 0);font-size:100%;" ><span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> most recent OpenSocial container announcements, </span></span><span style="font-size:100%;">developers will be able to access more than 600 million users who are part of OpenSocial-enabled networks.</span></p><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"><span style="font-size:100%;"><br /></span></p><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px; color: rgb(0, 0, 0);"> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_aV1Lvhr-7h8/SSJ_wdcKiPI/AAAAAAAAAgM/SFalvFX8dOU/s1600-h/opensocialgraph.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 491px; height: 263px;" src="http://4.bp.blogspot.com/_aV1Lvhr-7h8/SSJ_wdcKiPI/AAAAAAAAAgM/SFalvFX8dOU/s400/opensocialgraph.png" alt="" id="BLOGGER_PHOTO_ID_5269914984490109170" border="0" /></a> </p><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> </p><span style="font-size:100%;"><br /></span><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">In London, <a href="http://www.netlog.com/"><span style="color: rgb(0, 32, 226);">Netlog</span></a></span><span style="font-size:100%;">, the European social networking site, announced the availability of their application platform to more than 35 million members, and <a href="http://www.hyves.net/"><span style="color: rgb(0, 32, 226);">Hyves</span></a></span><span style="font-size:100%;"> announced their launch to 7M members in the Netherlands.</span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><i>"I think I can speak for all of us when I say that the Developer Day showed the momentum of OpenSocial and the committment of various containers and developers to make it a success. Being able to discuss the future of OpenSocial, both formally and informally, is another good reason for being there the next time as well ;-)" Yme Bosma, Hyves</i></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">In Paris, <a href="http://www.viadeo.com/"><span style="color: rgb(0, 32, 226);">Viadeo</span></a></span><span style="font-size:100%;">, the European professional social network, released their public sandbox and already made some good contacts to get some interest apps running on it. <a href="http://www.netlog.com/"><span style="color: rgb(0, 32, 226);">Netlog</span></a></span><span style="font-size:100%;"> opened their on-the-fly translation tool to apps developers, a very easy way to translate your social app to more than 20 languages.</span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><i>"Viadeo is very proud to be part of the Opensocial adventure and looks forward to seeing in the next months the first professional applications to be added to its existing features, thanks to the Opensocial APIs…" Ariel Messas, Viadeo</i></span></p><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"><span style="font-size:100%;"><i><br /></i></span> </p> <div style="text-align: center;"> <span style="font-size:100%;"><img style="width: 412px; height: 287px;" src="https://docs.google.com/a/google.com/File?id=cdpt8d8g_669ct75hzhb_b" /><br /><br /><br /><img style="width: 427px; height: 357px;" src="https://docs.google.com/a/google.com/File?id=cdpt8d8g_671gh63kngg_b" /></span></div><p style="margin: 0px; text-align: center; min-height: 16px;"> </p> <p style="margin: 0px; text-align: center; min-height: 15px;"><span style="font-size:100%;"> Buddy Poke OpenSocial app running on Netlog French site (translated in French) </span></p> <p style="margin: 0px; text-align: center; min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">In Munich, four containers were on stage, with the local player <a href="http://www.lokalisten.de/"><span style="color: rgb(0, 32, 226);">Lokalisten</span></a></span><span style="font-size:100%;"> opening their sandbox. <a href="http://www.xing.com/"><span style="color: rgb(0, 32, 226);">XING</span></a></span><span style="font-size:100%;">, the European social network, presented their plans to launch OpenSocial support in the first half of 2009.</span><span style="font-size:100%;"> Netlog and Viadeo also attended to reach out to the German developer community.</span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><i>“Our aim was to give developers a feeling why OpenSocial in a professional social network such as XING will be different from OpenSocial <span style="color: rgb(0, 0, 0);">as one may know it on </span>other social networks. At the Google Developer Day we gained a lot of positive feedback on this, got to know many talented developers, and discussed some excellent new ideas of OpenSocial applications that bring value to business people worldwide.” Matthias Haesel, XING</i></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 0, 0); min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">There was certainly a lot of interest in OpenSocial at Developer Day in Madrid. The best attended codelabs were those focusing on OpenSocial, and I presented at the Orientation for start-ups session to over 100 developers! </span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">In Prague and Moscow, I was amazed by the quality of the developers, the pertinence of their questions, and their interest in building social applications. <a href="http://seznam.cz/">Seznam</a> announced their commitment to Opensocial at Developer Day in Prague, planning an implementation beginning of 2009 in their community services <a href="http://lide.cz/">Lide.cz</a> and <a href="http://www.spoluzaci.cz/">Spoluzaci.cz</a>. However, their sessions must have been quite productive because directly following them, Seznam told us they would be implementing OpenSocial as quickly as possible!<br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">Lastly, our friends at <a href="http://mail.ru/">Mail.ru</a> were on stage at Developer Day in Moscow to present their OpenSocial implementation (already available to their 35M members), and from what I understood (I don't speak </span><span style="font-size:100%;">Russian!), it was a massive success. If everything goes well, they should have many new social apps coming for their social network after the GDD.</span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 16px;"> <span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">If you missed the <span style="font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">Developer Day</span></span><span style="font-size:100%;"> sessions, you can read the slides here :</span> </p> <ul><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><span style="color: rgb(0, 32, 226);"><a href="https://docs.google.com/a/google.com/Present?docID=c4wkn96_3219bxt3rcg&fs=true&revision=_latest&start=0"><u>London</u></a></span></span><span style="font-size:100%;"> : Hyves, Netlog, Viadeo</span> </li><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><span style="color: rgb(0, 32, 226);"><a href="https://docs.google.com/a/google.com/Present?docID=c4wkn96_3219bxt3rcg&fs=true&revision=_latest&start=0"><u>Paris</u></a></span></span><span style="font-size:100%;"> : Netlog, Viadeo</span> </li><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><span style="color: rgb(0, 32, 226);"><a href="https://docs.google.com/a/google.com/Present?docID=c4wkn96_728fqfjqzxc&fs=true&revision=_latest&start=0"><u>Munich</u></a></span></span><span style="font-size:100%;"> : Lokalisten, Netlog, Viadeo, XING</span> </li><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><span style="color: rgb(0, 32, 226);"><a href="https://docs.google.com/a/google.com/Present?docID=c4wkn96_733vfws8jfm&fs=true&revision=_latest&start=0"><u>Madrid</u></a></span></span><span style="font-size:100%;"> : Netlog, Viadeo</span> </li><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><a title="Milan" href="http://sites.google.com/site/developerdayitaly2008/google-developer-day-italy/open-social-and-the-social-web" id="zyo5">Milan</a> : Freebar, Netlog, Viadeo</span> </li><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><a title="Prague" href="http://sites.google.com/site/developerday2008prague/google-developer-day-prague-2008/opensocial-and-the-social-web" id="v8ag">Prague</a> : Netlog</span> </li><li style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;"><a title="Moscow" href="http://sites.google.com/site/developerday2008moscow/Home/google-developer-day-2008-moscow/opensocial" id="bz8p">Moscow</a> : Mail.ru</span> </li></ul> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"> <span style="font-size:100%;">It's really great to see that a year after its launch, OpenSocial is successful in Europe. See you all at the next Developer Days or at the next OpenSocial hackathon!<br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"><span style="font-size:100%;"><br /></span> </p><p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"><span style="font-size:100%;"><br /></span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">Limvirak Chea </span> </p> <p style="margin: 0px; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size:100%;">New Business Development Manager, Google EMEA</span> </p> </div>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com4tag:blogger.com,1999:blog-2705424769398900845.post-39514906089006292242008-11-12T12:11:00.005+00:002020-07-15T19:12:31.020+01:00CarCamp: Making conferences universally accessible and useful<span style="font-family: arial;font-family:arial;font-size:100%;" ><br />Last November <a title="BarCamp London 3" href="http://barcamp.org/BarCampLondon3" id="nwc9">BarCamp London 3</a> took place in the Google London office. We co-sponsored it with our friends from the BBC's <a title="Backstage" href="http://backstage.bbc.co.uk/" id="aj7e">Backstage</a> team. The 100 tickets went really quickly and as you can tell from the <a title="photos" href="http://flickr.com/groups/barcamplondon/pool/" id="e871">photos</a> /<a title="videos" href="http://www.consumingexperience.com/2008/02/barcamplondon3-list-of-videos.html" id="vbm2">videos</a> /<a title="etc" href="http://jaiku.com/channel/bcl3" id="k5vf">etc</a> the assorted BarCampers had a great time.<br /><br />This year my colleague, Julian Harris, had a brainwave. What if we started with the BarCamp idea then took it beyond the constraints of location and timezone? What if we ran a BarCamp style unconference for Googlers from all over the world but without flying everybody to the same destination? What if the unconference took place over 48 hours but spanned 7 timezones and 3 continents? In short what if we did an unconference that everybody (who works at Google) could attend rather than just those fortunate enough to live near the site?<br /><br />I wrote the first email about CarCamp (aka BarCamp++) on October 7 and gathered a little band of volunteers from all over the world. We put together a successful unconference less than a month later with a budget of <i>zero</i>. Over the weekend of November 8 and 9 we ran the first CarCamp with CarCampers from: London, New York, Montreal, Austin, San Francisco, Mountain View, Belo Horizonte and Zurich dialling in.<br /><br />Since this was an unconference we didn't have any more structure than the IETF's guiding principles of <a title=""rough consensus and running code."" href="http://en.wikipedia.org/wiki/Rough_consensus" id="wn6n">"rough consensus and running code."</a> The attendees turned up on the day and used tools like video conferencing, Sites, Google Docs, Moderator, Jaiku and Mercurial to organize themselves. We made up new sessions, voted on them and slotted them into the schedule as we went along.<br /><br />There was no central location so at any given point over the weekend some of us would be just getting up, running sessions or about to go to sleep. Whilst we didn't have enough sites to keep CarCamp running continuously over the weekend we came pretty close with just 92 registered participants. It turns out that the technical barriers are much lower than we imagined and with a sufficiently popular topic it might be possible to have a conference that really does use all 48 of the allotted hours. </span><span style="font-family: arial;font-family:arial;" >In the future I can even imagine BarCamps where literally everybody who is interested can participate. At that point it becomes possible to really take advantage of what Dave Winer has called the </span><span style="font-family: arial;font-family:arial;font-size:100%;" ><a title="Fundamental Law of Conventional Conferences" href="http://scripting.wordpress.com/2006/03/05/what-is-an-unconference/" id="g2a3">Fundamental Law of Conventional Conferences</a></span><span style="font-family: arial;font-family:arial;" >: "The sum of the expertise of the people in the audience is greater than the sum of expertise of the people on stage." That should lead to some very interesting conference topics.</span><span style="font-family: arial;font-family:arial;font-size:100%;" ><br /><br /></span><span style="font-family: arial;">Since this was a Google-only event a lot of the topics were confidential. However here are some of the sessions that I can tell you about:</span><span style="font-family: arial;font-family:arial;" ><br /></span><ul style="font-family: arial;font-family:arial;" ><li><span style="font-size:100%;">Pi, i, e and friends</span></li><li><span style="font-size:100%;">Time management and email management strategies<br /></span></li><li><span style="font-size:100%;">The newest grammar (which taught us all about the differences between <a title="Halliday" href="http://en.wikipedia.org/wiki/Michael_Halliday" id="ib4v">Halliday</a> and <a title="Chomsky" href="http://en.wikipedia.org/wiki/Noam_Chomsky" id="n21o">Chomsky</a>'s notions about grammar)</span></li><li><span style="font-size:100%;">Structured argumentation ideas like <a title="Knowlective" href="http://maparent.ca/Knowlective" id="z8.q">Knowlective</a><br /></span> </li><li><span style="font-size:100%;">New input and output device paradigms like <a title="Bumptop" href="http://bumptop.com/" id="deng">Bumptop</a><br /></span> </li><li><span style="font-size:100%;">Distributed development using <a title="Mercurial" href="http://www.selenic.com/mercurial/wiki/" id="w7s4">Mercurial</a></span> </li><li><span style="font-size:100%;">An Aikido demonstration</span></li></ul><span style="font-family: arial;font-family:arial;font-size:100%;" ><br />We plan to run more internal unconferences and hope that the wider BarCamp movement will take up the challenge of running distributed unconferences. If you have any questions then you can either post a comment to this blog or talk to me in person at the <a title="BBC Backstage Christmas Bash" href="http://bbcbackstage.eventwax.com/bbc-backstage-joins-the-london-communities-in-a-christmas-bash-" id="qn5_">BBC Backstage Christmas Bash</a>.<br /><br /><br /><br /></span><span style="font-family: arial;font-family:arial;font-size:100%;" class="post-author" > Ade Oshineye,<br />Technical Solutions Engineer</span>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2705424769398900845.post-37635823511268790242008-11-07T10:09:00.001+00:002020-07-15T19:12:31.006+01:00Android comes to old blighty<span style="font-family: arial;">The first Android-powered mobile phone now available in the UK</span><br /><br /><span style="font-family: arial;">For all of you UK developers who have built mobile applications using the free </span><a style="font-family: arial;" title="Software Development Kit (SDK)" href="http://code.google.com/android%29" id="ft4r">Software Development Kit (SDK)</a><span style="font-family: arial;"> for Android, the day you (and we!) have been waiting for has finally arrived. The first Android-powered mobile, the T-Mobile G1, officially went on sale in the UK on October 30th. Now, you can see what your app looks and feels like on a real Android-enabled phone!</span><br /><br /><span style="font-family: arial;">This means that in addition to great pre-installed software - which includes a fully-functional web browser, touchscreen and keyboard options, Email client, and calendar - you will be able to write and easily deploy your own applications on the G1. </span><span style="font-family: arial;"><br /><br />But you're not limited to what's pre-installed or even what you write yourself; the Android Market application allows you to browse hundreds of free applications and install them on your Android phone with a couple of taps of the touch-screen.</span><span style="font-family: arial;"><br /><br />If you haven't yet played around with the SDK, now's the perfect time to get started. Already, we've seen some great Android apps from UK develope</span><span style="background-color: rgb(255, 255, 0); font-family: arial;"><span style="background-color: rgb(255, 255, 255);">rs, including one from telegraph.co.uk, which provides an end user with the latest news, sport and finance from Britain's newspaper the Daily Telegraph.<br /><br /></span><span style="background-color: rgb(255, 255, 255);"></span></span><span style="background-color: rgb(255, 255, 255); font-family: arial;">In fact, the smart guys over at<b> <a href="http://umee.tv/newsroom/2008/10/22/telegraph-google-android-app-launched.html">Umee</a></b></span><span style="background-color: rgb(255, 255, 255); font-family: arial;">, who had never used the Android SDK before, built this application in less than a week!<br /><br /></span><span style="font-family: arial;">What will be next - an application that finds your nearest pub? Or perhaps a wifi-locator for your postcode? Get coding - we look forward to seeing your apps in the Android Market!<br /><br />Mike Jennings<br />Developer Advocate<br /></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com2tag:blogger.com,1999:blog-2705424769398900845.post-87883095089224935912008-10-24T15:52:00.002+01:002020-07-15T19:12:31.153+01:00Rickrolled?<span style="font-family: arial;">I'm sure we've all been <a href="http://www.timesonline.co.uk/tol/sport/more_sport/us_sport/article3716602.ece">rickrolled</a> </span><span style="font-family: arial;"><a href="http://news.bbc.co.uk/1/hi/england/london/7343833.stm">once</a> </span><span style="font-family: arial;">or <a href="http://insidecharmcity.com/2008/05/04/rickrolling-flash-mob-at-the-inner-harbor/">twice</a>.</span><span style="font-family: arial;"></span><div style="font-family: arial;"><br /></div><div style="font-family: arial;">But have you ever been Rickrolled in Super HD?</div><div style="font-family: arial;"><a href="http://mrdoob.com/lab/youtube/superHD/" target="_blank">http://mrdoob.com/lab/youtube/<wbr>superHD/</a><br /></div><div style="font-family: arial;"><br /></div><div style="font-family: arial;">This clever use of the Javscript Player YouTube API demonstrates how to activate multiple players and synch them up. There's also a link to a Chromeless version, which provides an even more seamless experience.</div> <div style="font-family: arial;"><br /></div><div style="font-family: arial;">Here's what Mr Doob put in the source, explaining how it was done. As he himself says, it only took a couple of hours.</div><div style="font-family: arial;"><br /></div><span style="font-size: 13px; font-family: arial;"><table> <tbody><tr><td> /*</td></tr><tr><td><br /></td><td> Hehehe... so you were wondering how this thing was done didn't you?</td></tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> Well, ok, I'll give you a quick explanation... So I bought this DVD that had these 2 videos,</td> </tr><tr><td><br /></td><td> you already know very well the other video so I though I should illustrate you with the</td></tr><tr><td><br /></td><td> *new* one. Then it was just a matter of letting VirtualDub (<a href="http://virtualdub.sourceforge.net/" target="_blank">http://virtualdub.<wbr>sourceforge.net/</a>)</td></tr><tr><td><br /></td><td> do what it does best. I managed to crop the video in 4 and having the first one with the audio.</td></tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> At first I though FLV decompression was going to be hard for any CPU and having 4 videos</td></tr><tr><td><br /></td><td> playing at once was going to be hard, but in the end it wasn't too bad. My iBook G4 wasn't</td> </tr><tr><td><br /></td><td> able to handle it, but I guess it's old enough to ignore. Then some problems on the flashplayer</td></tr><tr><td><br /></td><td> for Linux appeared. The top-left video had a lot of delay, that video was the one that had</td></tr><tr><td><br /></td><td> the music, so I though it was just a matter of the FLV player having problems there.</td> </tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> Anyway, the next day, I removed the audio from the first video (i,e cropped it again </td> </tr><tr><td><br /></td><td> with virtualdub but without the audio), and then created a new video (black) with the music</td></tr><tr><td><br /></td><td> and if you take a look at the code, you'll see that there are 5 youtube players. Well, video0</td></tr><tr><td><br /></td><td> is the one that plays the music, but as you can see on the styles, it's hidden. So if something</td> </tr><tr><td><br /></td><td> goes behind the rest will be the music, and well, neither in the original video the music</td></tr><tr><td><br /></td><td> was 100% synced so I guess it does properly it's job.</td></tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> It was just a matter of having the idea and spending a couple of hours on it, hope you enjoy</td></tr><tr><td><br /></td><td> it, feel free to do your own versions! Hopefuly youtube won't mind ;)</td> </tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> PS: There is some people out there reversioning the file making it lose the control bars so the</td> </tr><tr><td><br /></td><td> four videos match perfectly. Well, I think they are missing the point, the idea wasn't to overuse</td></tr><tr><td><br /></td><td> youtube, the idea was more on the joke side; nobody is actually going to upload 5 videos for</td></tr><tr><td><br /></td><td> a little bit more of quality isn't it? Well, I hope nobody takes this seriously and does it :D</td> </tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> Cheers!</td></tr><tr><td><br /></td><td> --</td></tr><tr><td><br /></td><td> Mr.doob</td></tr><tr><td><br /></td><td> <br /></td></tr><tr><td><br /></td><td> */</td></tr></tbody></table></span><span style="font-family: arial;" class="post-author"></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com0tag:blogger.com,1999:blog-2705424769398900845.post-35215777898953421282008-10-21T08:54:00.004+01:002020-07-15T19:12:30.993+01:00Increased Accuracy for Location in the Browser<span style="font-family:arial;">We're excited today to announce a major improvement to the accuracy of the </span><a style="font-family: arial;" href="http://code.google.com/apis/gears/api_geolocation.html" id="e-e5" title="Gears Geolocation API">Gears Geolocation API</a><span style="font-family:arial;">. From today, Gears will make use of Wi-Fi signals, where available, to calculate the user's location with greatly improved accuracy. Wi-Fi-based location is available in many major cities around the world, and you can expect accuracies down to a couple of hundred metres. Even better, we expect both coverage and accuracy to improve over time. </span> <div style="font-family: arial;"><br /></div> <div style="font-family: arial;"> Gears already makes use of cell ID, IP and GPS information, where possible, to calculate the user's position. This latest improvement doesn't introduce any change to the Geolocation API, so there's no extra work for you as a developer. Gears simply considers Wi-Fi as an additional source of information and will return the best position estimate it can. </div><div style="font-family: arial;"><br /></div><div style="font-family: arial;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aV1Lvhr-7h8/SP2Nt_YTnmI/AAAAAAAAAfE/1LOIxGY9yEk/s1600-h/lastminute-radar-screenshot.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 181px; height: 213px;" src="http://2.bp.blogspot.com/_aV1Lvhr-7h8/SP2Nt_YTnmI/AAAAAAAAAfE/1LOIxGY9yEk/s320/lastminute-radar-screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5259515761085619810" border="0" /></a>On mobile devices, you can expect significantly better accuracy compared to cell ID-based location, but the real improvement will be on laptops. Wi-Fi based positioning means that you can deliver web applications for laptop users that are automatically customised to your user's exact position. To see what we mean, check out these great new web applications from lastminute.com, ITN and Rummble, that use the Gears Geolocation API. <a href="http://labs.lastminute.com/radar/" id="ic1b" title="lastminute.com's new Radar application" style="color: rgb(85, 26, 139);">lastminute.com's R</a><a href="http://labs.lastminute.com/radar/" id="ic1b" title="lastminute.com's new Radar application" style="color: rgb(85, 26, 139);">adar application</a> provides a really easy way to locate hotels near you, perfect for last minute bookings while travelling. <a id="p3wo" href="http://itn.co.uk/news/earth.html" title="ITN's local news page">ITN's local news page</a> shows news stories local to the user's position graphically on a map, plus if you have the <a id="zl9d" href="http://code.google.com/apis/earth/" title="Google Earth plugin">Google Earth plugin</a> installed, the results are shown Google Earth. Finally, <a id="odek" href="http://www.rummble.com/" title="Rummble">Rummble</a> automatically centres its search of nearby Rummbles on the user's position.</div><div style="margin-top: 0px; margin-bottom: 0px;font-family:arial;"><span style="color: rgb(255, 0, 0);"><br /></span></div><div style="margin-top: 0px; margin-bottom: 0px; font-family: arial;">To protect user privacy, the Gears Geolocation API server does not record user location. However, third party sites may do so, and we recommend that users only allow web sites they trust to access their location. Gears will always tell a user when your site wants to access their location for the first time and the user can either allow or deny your site permission. We recommend users check the privacy policy of your web site if they are in doubt as to how your site may use location information.</div> <div style="font-family: arial;"><br /></div> <div style="font-family: arial;"> Steve Block<br />Gears Software Engineer </div><span class="post-author" style="font-family:arial;"></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com9tag:blogger.com,1999:blog-2705424769398900845.post-47224896251177922062008-10-17T13:10:00.003+01:002020-07-15T19:12:31.033+01:004 down, 5 to go<span style="font-family:arial;font-size:100%;">Hello!<br /><br />Well, the <a href="http://code.google.com/events/developerday/2008/">Wave 1 Google Developer Days</a></span><span style="font-family:arial;font-size:100%;"> are over, and the Wave 2 GDDs began today in Bangalore, India.<br /><br />We've had a great time meeting developers across Europe, and here are some highlights.</span><div style="font-family: arial;"><span style="font-size:100%;"> London: <a href="http://www.youtube.com/view_play_list?p=5C5DE5D3E276DD39">Playlist</a> of all the sessionsand <a href="http://sites.google.com/site/developerdaylondon/">Presentation site</a><br /></span></div><div style="font-family: arial;"><span style="font-size:100%;">Paris: <a href="http://sites.google.com/site/developerdayfrance/" target="_blank">Presentation site</a> and videos on the GoogleFrance YouTube <a href="http://fr.youtube.com/profile_videos?user=GoogleFrance" target="_blank">Channel</a></span></div> <div style="font-family: arial;"><span style="font-size:100%;">Munich: <a href="http://sites.google.com/site/developerdaygermany/">Presentation site</a> and <a href="http://www.youtube.com/view_play_list?p=F6BD3A4A4B690FF0">playlist</a> on the GoogleDeutschland YouTube Channel<br />Spain: <a href="http://es.youtube.com/watch?v=dr4zdOy6x6A">Wrap-up video</a> and all videos on the GoogleEspana <a href="http://www.youtube.com/user/GoogleEspana">Channel<br /></a></span></div> <div style="font-family: arial;"><span style="font-size:100%;"><br /></span></div><div style="font-family: arial;"><span style="font-size:100%;">There's a mix of content there. Let us know which format you like best.</span></div><div style="font-family: arial;"><span style="font-size:100%;"><br /></span></div> <div style="font-family: arial;"><span style="font-size:100%;">They were all incredible in their own way. </span></div><ul style="font-family: arial;"><li><span style="font-size:100%;">London was based in Wembley Stadium, which was just insane, and had inflatable igloos.</span></li><li><span style="font-size:100%;">France in an architectural school (with a few lessons still going on!), which made the codelabs fun.</span></li><li><span style="font-size:100%;">Munich was in a massive conference hall, and had lots of cool lego built and a massive cushion fort..</span></li><li><span style="font-size:100%;">Spain was in a themepark, so some sessions were in the ghost train.</span></li></ul> <div style="font-family: arial;"><span style="font-size:100%;"><br /></span></div><div style="font-family: arial;"><span style="font-size:100%;">All in all, not at all what I expected, but much more than I had hoped for. I met some great people, and even learnt some new things myself, when they let me out of the codelabs ; )</span></div> <div style="font-family: arial;"><span style="font-size:100%;"><br /></span></div><div style="font-family: arial;"><span style="font-size:100%;">Most importantly, I built a Google Site around the OpenSocial codelab, so if you missed out, or just want a refresher, check out <a href="http://sites.google.com/site/opensocialcodelab" target="_blank">http://sites.google.com/site/<wbr>opensocialcodelab</a></span></div> <div style="font-family: arial;"><span style="font-size:100%;"><br /></span></div><div style="font-family: arial;"><span style="font-size:100%;">As always, if you have any thoughts, please leave them in the comments.</span></div><div style="font-family: arial;"><span style="font-size:100%;"><br /></span></div><div style="font-family: arial;"><span style="font-size:100%;">Hope you're doing well</span></div><div style="font-family: arial;"><span style="font-size:100%;">Chewy</span></div><div style="font-family: arial;"><span style="font-size:100%;">Developer Advocate</span></div>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com1tag:blogger.com,1999:blog-2705424769398900845.post-24097144050987575952008-10-14T23:52:00.001+01:002020-07-15T19:12:30.939+01:00RabbitMQ Tech Talk video is available<span style="font-family: arial;"></span><span style="font-family: arial;">As promised we've uploaded the video from the RabbitMQ Tech Talk to Youtube. You can watch it below:<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ZQogoEVXBSA&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/ZQogoEVXBSA&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />The permalink is here: </span><a style="font-family: arial;" href="http://www.youtube.com/watch?v=ZQogoEVXBSA" target="_blank">http://www.youtube.com/watch?<wbr>v=ZQogoEVXBSA</a><br /><br /><span style="font-family: arial;">This was our first Tech Talk in London that was recorded for external consumption. We hope to do many more.</span><br /><span style="font-family: arial;"><br />Ade Oshineye,<br />Technical Solutions Engineer, PSO, Google London</span><br /><span style="font-family: arial;" class="post-author"></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com3tag:blogger.com,1999:blog-2705424769398900845.post-7149046814445240262008-09-30T12:59:00.005+01:002020-07-15T19:12:31.099+01:00RabbitMQ Tech Talk at Google London<span style="font-family:arial;">My </span><a style="font-family: arial;" href="http://www.google.co.uk/pso" id="m-.l" title="day job involves working with Google's strategic mobile partners">day job involves working with Google's strategic mobile partners</a><span style="font-family:arial;"> to solve tricky problems but in the evenings I'm usually to be found at the </span><a style="font-family: arial;" href="http://www.xpdeveloper.net/xpdwiki/Wiki.jsp?page=XtC" id="p1ji" title="eXtreme Tuesday Club">eXtreme Tuesday Club</a><span style="font-family:arial;"> and similarly geeky gatherings. I'm usually the bloke with the Nikon D50 alternating between talking about new features in Python and taking pictures. Sometimes, like PyCon UK, I get to do both and I end up with photos like </span><a style="font-family: arial;" href="http://gallery3.pyconuk.org/detail/48/" id="n7.r" title="this">this</a>:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://gallery3.pyconuk.org/Images//stockphoto/2008/09/18/1221769589.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 644px; height: 176px;" src="http://gallery3.pyconuk.org/Images//stockphoto/2008/09/18/1221769589.jpg" alt="" border="0" /></a> <div style="font-family: arial;"><br />That doesn't always happen though. For instance last Thursday I invited some special guests to our London office. Alexis Richardson, Matthias Radestock and Tony Garnock-Jones from LShift/CohesiveFT traveled all the way from their <a href="http://maps.google.com/maps/ms?hl=en&safe=off&client=firefox-a&ie=UTF8&msa=0&ll=51.527997,-0.08184&spn=0.013857,0.033388&z=15&msid=113112024069183818783.00045308aab2298d39b6f" id="me95" title="Silicon Roundabout">Silicon Roundabout</a> offices to Victoria to give a tech talk about, RabbitMQ, their open source messaging platform. Their talk covered everything from how distributed systems are built in Erlang to their preferred approach to fixing Twitter's scaling problems.<br /><br />Since the <a href="http://moderator.appspot.com/" id="a_xo" title="Google Moderator">Google Moderator</a> tool had launched the night before I thought we should <a href="http://tinyurl.com/rabbitmq" id="ey3t" title="experimented">experiment</a> with using that to supplement the questions from the assembled Googlers. We only got 2 online questions but I think that with the feedback that team is getting <a href="http://moderator.appspot.com/#e%253Dagltb2RlcmF0b3JyDQsSBlNlcmllcximNAw">here</a>. This could become a really useful tool for technical conferences.<br /><br />Afterwards I took the guys upstairs to the canteen for lunch with various Google engineers where we got to discuss everything from implementing Protocol Buffers in C# to <a href="http://jaiku.com/" id="wnax" title="Jaiku">Jaiku</a> and the future of federated micro-blogging. Lunch wasn't recorded but the Tech Talk was so you'll soon be able to see it for yourself on Youtube. We'll update this blog post when the video is ready.<br /><br />In the meantime you can read the slides here:<br /><ul><li> Part 1 - <a href="http://www.rabbitmq.com/resources/google-tech-talk-final/alexis-google-rabbitmq-talk.pdf" id="xgua" title="http://www.rabbitmq.com/resources/google-tech-talk-final/alexis-google-rabbitmq-talk.pdf">http://www.rabbitmq.com/resources/google-tech-talk-final/alexis-google-rabbitmq-talk.pdf</a> </li><li> Part 2 - <a href="http://www.rabbitmq.com/resources/google-tech-talk-final/google.html" target="_blank">http://www.rabbitmq.com/<wbr>resources/google-tech-talk-<wbr>final/google.html</a></li><li>And the video here: <a style="font-family: arial;" href="http://www.youtube.com/watch?v=ZQogoEVXBSA" target="_blank">http://www.youtube.com/watch?<wbr>v=ZQogoEVXBSA</a></li></ul> </div> <span style="font-family:arial;"><br />Ade Oshineye</span><span style="font-family:arial;">,<br />Technical Solutions Engineer, PSO, Google London</span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com7tag:blogger.com,1999:blog-2705424769398900845.post-84138976378406103742008-09-25T08:21:00.002+01:002020-07-15T19:12:31.127+01:00Developer Day London videos and presentations now online<p><a href="http://picasaweb.google.com/developerday.uk/GDDUK"><img style="float:right; margin:0 0 10px 10px;" src="http://lh6.ggpht.com/developerday.uk/SNDM25XKruI/AAAAAAAAAQ8/bqMqxthsm6w/s144/DSC01904.JPG" width="144" height="108" border="0" alt="GDD UK photo album" /></a>It's been about a week since I got to <a href="http://www.youtube.com/watch?v=XzQncYIk_UM">kick off</a> Google Developer Day at Wembley, so I've had some time (and an 11 hour flight home) to reflect on the day. With the bright colors, technical sessions, and life-sized Connect Four behind us, the thing I'm still struck by is the feeling of community that permeated the day. The momentum has continued in Paris and Munich, and Madrid's event just getting started as I write this.<br/><br/>At Google, we're working hard to help move the web forward as a platform. But it's events like this that demonstrate how we're just one part of a much larger effort. Working together, it's clear we can accomplish much more than any one company or person could alone.<br/><br/>We just finished uploading all the session videos to a playlist on the <a href="http://uk.youtube.com/view_play_list?p=5C5DE5D3E276DD39">Google UK Channel</a> on YouTube. We've also posted the <a href="http://sites.google.com/site/developerdaylondon/">presentations and other materials</a>.<br/><br/><object width="425" height="344"><param name="movie" value="http://www.youtube.com/p/5C5DE5D3E276DD39" /><embed src="http://www.youtube.com/p/5C5DE5D3E276DD39" type="application/x-shockwave-flash" width="425" height="344"></embed></object><br/><br/>And, of course, you can always find API documentation, articles, tutorials, and more on <a href="http://code.google.com/">Google Code</a>.<br/><br/>I hope you find these APIs and tools useful as you're developing and launching new applications. And, of course, please continue to give us feedback!<br/><br/>Tom Stocky<br/>Director, Product Management</p>Tom Stockyhttp://www.blogger.com/profile/09392330990200948090noreply@blogger.com5tag:blogger.com,1999:blog-2705424769398900845.post-82751442498174220952008-09-18T20:52:00.004+01:002020-07-15T19:12:31.114+01:00Code Lab winners from London GDDWell, the UK Google Developer Day really went off well. We're still collating your feedback, and already working out which parts you liked the most and how we can improve for next year. That's right. We're already planning, so if you have ideas or suggestions, please let us know.<br /><br />While all that's going on, I'd like to shout out to the winners of our codelabs - those who managed to get stuff working above and beyond the basic examples.<br />Nick Burch in the OpenSocial Codelab managed to build a 'favourite postcode' app, which lets you show your friends your favourite Ordnance Survey maptile right in an OpenSocial container. It used remote data access to pull the data from a remote API, and then the persistence part of the API to store everything. It was pretty neat.<br />Nick, if you're reading, I've managed to lose the URL, so please drop me a line with it.<br /><br />In the Geo codelab, Russell reports that winners were:<br />Krystian Czepiel<br />Esben Nepper<br />Jeff Tupholme<br />Conrad Winchester<br /><br />He also wants to call out Conrad for suggesting some improvements to our <a href="http://code.google.com/">code.google.com </a>samples, which are currently being passed back to the team.<br /><br />Jeff and Krystian picked up their prizes on the night, and I'd like to apologise for butchering Jeff's surname. It's pronounced Tup-home, not Tufolome, like I said. So, now you all know.<br /><br />I got to spend some time with Krystian talking about the Base API, too. He's a smart cookie, and is pushing a few of our APIs to the limit in a lot of interesting ways. I now have lots of feedback for a few teams internally! Thanks Krystian.<br /><br />Anyway, congrats to you all - sterling work, and thanks for taking part.<br />Overall, I was extremely impressed with how quickly people picked everything up. The prizes are well deserved.<br /><br />We're doing similar labs in other countries, so if you have any feedback, please let us know if you think we can improve.If you missed the OpenSocial codelab, I quickly cobbled together a Google Site containing everything you need to get started on building your own app.<br />You can check it out at <a href="http://sites.google.com/site/opensocialcodelab">http://sites.google.com/site/opensocialcodelab</a><br /><br />We've already had some attendees leave their impressions, so check them out if you like.<br />Mark Wilson at <a href="http://www.markwilson.co.uk/blog/2008/09/google-developer-day-2008.htm">http://www.markwilson.co.uk/blog/2008/09/google-developer-day-2008.htm</a><br />Al Sutton at <a href="http://alsutton.wordpress.com/2008/09/17/google-android-and-code-signing-app-shops/">http://alsutton.wordpress.com/2008/09/17/google-android-and-code-signing-app-shops/</a><br /><br />And I'm sure there are many more out there. Drop a comment with a link to your blog, too. I'm sure people would like to read commentary which isn't just from us.<br /><br />Well, that's all for now. I'll be writing up a report from our other developer days very soon, so check back often.<br /><br />Chewy<br />Developer Advocate, Google LondonDeveloper Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com2tag:blogger.com,1999:blog-2705424769398900845.post-31886527594238710772008-09-17T18:58:00.011+01:002020-07-15T19:12:30.966+01:00On Google Developer Day (or, How I broke GoogleMail)<span style=";font-family:arial;font-size:100%;" >Well, the Developer Day sessions have come to a close and it was a fun, code-packed and, at times, manic day. It was great to see so many people come together from so many different places, but even better to see how much they had to talk about. Just observing casual conversations in the halls and igloos as well as over the long lunch, it was really inspiring to see what can happen when you get so many great minds in a room together. </span><span style=";font-family:arial;font-size:100%;" ><br /><br /></span><span style=";font-family:arial;font-size:100%;" >There were some great apps started in the code labs, the winners of which got <a href="http://www.google.com/chrome">Chrome</a> comic books. We really look forward to seeing the development thereof. It was also cool to hear from <a href="http://hyves.nl/">Hyves</a> and <a href="http://en.netlog.com/">Netlog</a> that the OpenSocial family has now grown by 10% (40M new users!) with the addition of their social networks as container sites. Thanks to <a href="http://www.viadeo.com/en/connexion/">Viadeo</a> and <a href="http://www.myspace.com/">MySpace</a> for their great presence as well in the OpenSocial sessions, as well as the Met Office for sharing their maps experience. <a href="http://www.lastminute.com/"> Lastminute.com</a>, <a href="http://www.rummble.com/">Rummble</a> and <a href="http://itn.co.uk/">ITN</a> really provided some colour to the OpenSocial and Gears for Mobile talk as well. And last to Carl-Gustaf Harroch, who provided the real Android developer perspective. So thank you to our partners!</span><span style=";font-family:arial;font-size:100%;" ><br /><br /></span><span style=";font-family:arial;font-size:100%;" >The road to get here was not perfect, though, and I thought I would share a few of the fun potholes we hit. My favourite was when Google Mail thought I was spamming our attendees by sending too many confirmation emails in one day. While I was reassured of the strength of the product as a Google Mail user myself, there was still a short-lived panic when questions were flooding in and the send function was disabled!</span><span style=";font-family:arial;font-size:100%;" ><br /><br /></span><span style=";font-family:arial;font-size:100%;" >We also had a hiccough with UK customs and our customised <a href="http://picasaweb.google.com/developerday.uk/GDDUK#5246918743450205346">Lego USB men</a> loaded with code labs masterials. We planned every delivery for the day from the stages and video equipment right down to bags of crisps and the Guitar Hero. We just never factored in the 30-day </span><span style=";font-family:arial;font-size:100%;" >customs</span><span style=";font-family:arial;font-size:100%;" > holding period. Fortunately the little men made it in about 17 hours before the start of the event!</span><span style=";font-family:arial;font-size:100%;" ><br /><br /></span><span style=";font-family:arial;font-size:100%;" >We made a short video </span><span style=";font-family:arial;font-size:100%;" >to recap the day, which will be up shortly, alongside the <a href="http://uk.youtube.com/watch?v=XzQncYIk_UM&feature=PlayList&p=5C5DE5D3E276DD39&index=1">keynote</a> and the rest of the content on the Google UK YouTube Channel. There are loads of photos in these </span><span style=";font-family:arial;font-size:100%;" ><a href="http://picasaweb.google.com/developerday.uk">picasa web albums</a></span><span style=";font-family:arial;font-size:100%;" >. For all those who could not make it, stay tuned to see all the session content - presentations and videos - in the next couple of days on the <a href="http://code.google.com/intl/en_uk/events/developerday/2008/home.html">code site</a>. But for now, I'll leave you with GDD in numbers. Up next will be some of Tom Stocky's thoughts.</span><span style=";font-family:arial;font-size:100%;" ><br /></span><ul style="font-family:arial;"><li><span style="font-size:100%;">1800 <b>candy</b> bars eaten (inspiring Twitter conspiracies about why we had so much chocolate.)<br /></span></li><li><span style="font-size:100%;"> 550 developers in attendance</span></li><li><span style="font-size:100%;">60 <b>Megabytes</b> of internet (that never crashed!)</span></li><li><span style="font-size:100%;">24 Google <b>speakers</b></span></li><li><span style="font-size:100%;">24 Google volunteers</span></li><li><span style="font-size:100%;">20 <b>partner</b> speakers (Hyves, Netlog, Rummble, Lastminute.com, ITN, the Met Office & the head of the Android User Group.)</span></li><li><span style="font-size:100%;">6 feet worth of stacked giant Jenga pieces<br /></span> </li><li><span style="font-size:100%;">2 giant screens that had powerpoint & code throughout the day, then <b>Wii and Guitar Hero</b> for the party.</span></li><li><span style="font-size:100%;">1 great day by had by us and, we hope, by you.</span></li></ul><span style="background-color: rgb(255, 255, 255);font-family:arial;font-size:100%;" >Liz Ericson<br />Product Marketing Manager - Developer Programmes</span><span style=";font-family:arial;font-size:100%;" ><br /></span><span class="post-author" style=";font-family:arial;font-size:100%;" ></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com14tag:blogger.com,1999:blog-2705424769398900845.post-12336617309810848542008-09-15T17:36:00.003+01:002020-07-15T19:12:30.913+01:00A blog is born<span style="font-size:100%;"><span style="font-family:arial;">Hello and welcome to the new UK Developer blog!<br /><br /></span></span><span style="font-size:100%;"><span style="font-family:arial;"><span style="background-color: rgb(255, 255, 255);">We've been working hard over the last few months to be able to bring lots of developers together at Google Developer Day</span></span><span id="writely-comment-id-chb4npbk" class="writely-comment" style="background-color: rgb(255, 255, 255);font-family:arial;" >, and we don't want the conversations to end there. We want this blog to be the place you can check back for information on local developer launches, events and stories about the guys behind the technology.<br /><br /></span><span style="background-color: rgb(255, 255, 255);font-family:arial;" >At this very moment, we are making last minute preparations to host over 500 developers at Wembley Stadium, where they will meet engineers and product managers who work on products like App Engine, Gears, OpenSocial, YouTube, Maps and many more. But it's not just about what we have to say. We have brought in many of our partners as well to talk about how they are using some of the tools available, as well as what they have learned and how they want to move forward.</span><br /><br /><span id="writely-comment-id-chb4npbk" class="writely-comment" style="background-color: rgb(255, 255, 255);font-family:arial;" >We're also really excited to hear from our attendees, many of whom told us about some of the amazing apps they're working on. To me and many other Googlers I've spoken with, this is the best part about Developer Day: getting many smart brains in one place and watching them all interact. </span><span id="writely-comment-id-chb4npbk" class="writely-comment" style="background-color: rgb(255, 255, 255);font-family:arial;" >Our goal is to make the web a better place for developers, which in turn will make the web a nicer place for the (roughly) billion and a half people using it. After all, </span><span style="background-color: rgb(255, 255, 255);font-family:arial;" >the best ideas and implementations are not going to come from us, but from the hundreds of thousands of developers out there using our tools. </span></span><span style="background-color: rgb(255, 255, 255);font-size:100%;" ><span id="writely-comment-id-chb4npbk" class="writely-comment" style="font-family:arial;"></span><br /><br /><span style="font-family:arial;">So why the blog? We want to use this as a place to showcase great apps and the developers who built them. We want it to be the place that you can come to see what is going at Google and with Google tools, bringing together people from the hundreds of different developer communities throughout the UK.</span><br /><br /><span style="font-family:arial;">Most of all, we want to hear from you: </span><span id="writely-comment-id-chb4npbk" class="writely-comment" style="font-family:arial;">how would this blog be most useful for you? We'd love you to share </span><span style="font-family:arial;">your ideas, your apps and your comments. We have no idea what the volume will be like and can't promise a reply, but we do want to figure out how we can be of use to you in the week and months to come.</span><br /><br /><span style="font-family:arial;">Thanks and happy apping!</span><br /><br /><span style="font-family:arial;">Liz Ericson</span><br /><span style="font-family:arial;">Product Marketing Manager - Developer Programmes</span></span><span style="font-size:100%;"><br /></span>Developer Guyshttp://www.blogger.com/profile/03845177839366448211noreply@blogger.com0