Bob Lee is a co-worker of mine at Google (He is actually the lead on core Java APIs for Android), and he happened to create a cool little GWT application called Twubble, which he explains:
If you use Twitter, Twubble can look at your existing friends’ friends and recommend new people for you to follow. It’s a stupid simple idea, but I think the execution and fun factor have won people over.
I wrote Twubble in a couple nights of hacking in bed after the kid went to sleep. I used the latest Google Web Toolkit milestone which supports Java 5 (flawlessly from my experience). I was writing Javascript code (server and client side) for years before I ever got into Java, but I have to say, you’d be crazy to write AJAX apps any other way than GWT nowadays.
This is Bob’s first GWT application, so I wanted to sit down and talk to him about why he built the application, his experience with GWT, how he integrated with Twitter, and any other nuggets of information that I could get out of him:
When I hear “email marketing” I can’t help but think spam, but it is a legit tool too, and the latest tool in the pack is Mad Mimi.
Mad Mimi launched this week and consists of “state-of-the-art UI design makes for layouts that are easier to
create -– and easier to read – than emails generated by Constant Contact, Emma and others, who rely on rigid templates and cluttered,
dated layouts.”
Mad Mimi’s “modules-based” interface allows users to add picture and text fields, drag them around and add captions, links and dividers. Embedded constraints gently guide the layout, keeping the “designer” from getting into trouble, but providing more plasticity than templates.
The result: a fluid, flexible user interface, and clean, fashionable “Mimi-generated” promotions that represent a fresh approach to email marketing – at a subscription price that trumps the competition.
When I saw that Tobie Langel was on the team, I had to check it out. When you give it a spin you will be able to add images, and then use them to build out your email. There are some really nice subtle features such as the undo support.
I had a funny feeling that we would see frameworks and tools starting to support Google App Engine. Appcelerator has added support into their SDK, so you can now create an App Engine project.
<divclass="logo" on="click then script[window.location.href='http://www.appcelerant.com/?p=54']"><h1style="display: none">App Tunes</h1></div>
<divclass="powered_by" on="click then script[window.location.href='http://www.appcelerator.org/']"><h4style="display: none">Powered By Appcelerator</h4></div>
</div>
<divid="body"style="visibility: hidden" on="l:app.compiled then visible">
<app :as_flexflow id="flow" on="r:get.albums.response then execute or r:select.album.response then select"
Above is the breakdown from the Dojo distribution. Peter Higgins was working on an AIR application using the new Dojo AIR integration and wanted to do a better job at stripping down the Dojo build for what he needed.
Sebastian Brink has developed a nice looking gallery application called qGallery
It is really simple to use you just have to upload your images in full resolution together with a simple xml file and include the script and a simple div into the webpage. Everything else is done automatically. The gallery is creating every used image on the fly with the help of some php scripts in the background.
It is developed on top of Prototype and a bunch of other libraries.
Being able to have your documents stored up in the cloud, but also saved away for the time where you don't have connectivity is important, and today the Google Docs team supports local service via Google Gears.
I have been using this ability for awhile, and I have personally seen a couple of side effects:
I boot up the computer at times in which I wouldn't before hand as I know I can get access to this content (as well as Google Reader of course)
The experience is a lot faster even in a connected or slightly connected environment as it keeps working even if service is bumpy, say, on a Google Shuttle to work!
Having things continue to just work as you go in and out of service is a great feeling. You trust the system more.
We love to showcase good uses of Ajax, but sometimes you have to show the anti-patterns too. Hema is a dutch company that recently tried to revamp their online site, but went a little too far.
The launch of Adobe Photoshop Express has been much anticipated. We are seeing the move of a large software company going from desktop to Web for a major application.
I am a big fan of Picnik and for awhile was using it quite regularly, so I wanted to see how they compared.
It seems like Photoshop Express is pretty limited and seems very much focused on taking images, putting them online, and doing little touch-ups. One of the things that I am always doing is taking a picture and adding text and shapes to it, and this isn't available, so I kinda don't know when I would use this other than for simple cropping and resizing.
The interface is sleek and Flash-y but somehow doesn't feel as nice as Picnik to me.... I don't know why.
Alistair told us about the application, and some of the fun features:
The initial version was a bit boring looking so I thought it would be nice to pull the 'favicons' for the sites returned in the results. I have detailed how I did this here
Because I could not fetch the icons directly using HTTPService I have used a cgi proxy script written in Python to fetch the target icons and convert them into a Base64 encoded string before returning the data to the Flex application.
The Flex application decodes the Base64 and then passes the data to a modifed version of the IconLoader class from the flexlib library.
The modifications to flexlib took the form of adding in support for 8bpp and 24bpp images.
The graph is implemented using the flexvizgraphlib visualisation component from here:
The application also uses a novel IFrame component which lets you
embed html pages directly into your Flex application.
Thomas Hansen of the Gaia Ajax Widgets project took a look a the Asciify project that we posted about recently, and thought that Ajax could do just as good a job!
So when I saw this Ajaxian Article about an ASCII art generator in Flash I felt compelled to demonstrate it could easily be done in a standardized set of web technologies.
I set out to see if I could find some libraries to use, and I found Sau Fan Lee's codeproject article about his ASCII fying .Net library. It was GPL so it mixed perfectly together with Gaia. So I just brushed it up a little bit, added some Gaia Ajax for falvor, and voila! Have fun!
All the code can be downloaded here and is GPL so you can use it as you wish as long as you comply with the GPL license terms. If you find bugs, cleans up the code or in any other ways improves it (hint; Linux/Mono port would be awesome) I'd be more than willing to host the modified code here and update the running version with credits to you, email it then if so to thomas dot hansen at gaiaware dot net :)
Jonathan Keebler has updated ShiftEdit to be a nice little live blogging tool.
You can login via Facebook or Windows Live (what no OpenID? :) and then can start new live events. You can imagine going to a conference or a Steve-note and popping this bad boy up and typing away.
The team used a lot of the principles from Steve Souders book: High Performance Web Sites and ended up with a nice gain:
According to our latency measurement stats, the user-perceived latency on Google Code dropped quite a bit, anywhere between 30% and 70% depending on the page. This is a huge return for relatively small investments we've made along the way, and we hope you'll find these techniques useful for your own web development as well.
The changes were low hanging fruit that most of the sites could also implement:
Combined and minimized JavaScript and CSS files used throughout the site
Implemented CSS sprites for frequently-used images
Implemented lazy loading of Google AJAX APIs loader module (google.load)
Wise Mapping is a free web mind mapping tool that leverages the power of Mind Maps mixing new technologies like vectorial languages (SVG and VML) and the power of the whole Web 2.0 concept. The tools uses SVG and VML which allows straightforward vector graphics animation without the need of installing any plug-in.
We asked Paulo about the development experience.
The main challenge was to develop an abstraction layer between SVG and VML (there was no open source framework to do this at the time we started working on the project) in order to support multiple browsers such as IE and Firefox/Opera (some efforts are being made at the moment to support Safari 3.0.4+). Using this layer for the core for the client side, a very intuitive, simple, nice looking, full Drag and Drop enabled graphical mind map editor is provided.
All the UI is powered by Mootools using DWR for the Ajax interaction with a backend made with Java 1.6 with Web Spring for MVC layer and Hibernate.
There have been some reports that VML is broken on IE 8. Hopefully this is a beta 1 bug, as without that legacy support, a bunch of applications (including this one) will not work.
There seemtobemany mind mapping tools in Ajax, second only to RSS readers.
As part of Activities,
Me.dium now offers a powerful “Social Discovery†Activity from any page. Me.dium’s “Discover†Activity gives you recommendations, related to a page or selected key words, which are influenced by the real time surfing activity of all Me.dium users. Me.dium also displays a “real-time map†of user activity on the pages related to the selected text, page, or link so users can see how popular those pages are with Me.dium users in real time.