L-EXP

      view feed content Cleaning Up Your Dashboard (iA WebTrends 2008)   [6 views] 48 d ago
languagevalueWe are simplifying the left-hand navigation of your home page to make it even easier for you to access the most fundamental parts of Facebook.

From testing and feedback from many of you, we've found that the most popular links in the left-hand navigation are News Feed, Messages and Friends. So as we roll out these changes, those three links, along with Events, will comprise the top part of your home page navigation.


You'll also have easier access to the games and platform applications you use most often. Right below the top line, you'll see your favorite games, the Facebook Photos application, or anything else that you use often or have chosen to bookmark on your home page. Note that the Photos application has moved into this section.

We try to continually keep your home page navigation tidy and relevant based on the feedback we receive from you. If you don't use an application for 30 days, it will move below the the "More" link in the Games and Application navigation. That way the games and applications you use the most are easier to find.

You can always edit your games and applications bookmarks by clicking the "edit" link at the bottom of your list of bookmarks. If you ever want to move a game or application above the "More" link--such as Photos--just click "More" and then "Edit" and drag any of your applications to one of your top six.

Jing Chen, a Facebook engineer, now needs to clean up her desk.typetext/htmlbasehttp://blog.facebook.com/atom.php

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content 100 Million Plugin Downloads and Counting (iA WebTrends 2008)   [2 views] 68 d ago
languagevalue

WordPress 3.0 Thelonious passed 3 million downloads yesterday, and today the plugin directory followed suit with a milestone of its own: 100 million downloads.

The WordPress community’s growth over the years has been tremendous, and we want to reinvest in it. So we’re taking the next two months to concentrate on improving WordPress.org. A major part of that will be improving the infrastructure of the plugins directory. More than 10,000 plugins are in the directory, every one of them GPL compatible and free as in both beer and speech. Here’s what we have in mind:

We want to provide developers the tools they need to build the best possible plugins. We’re going to provide better integration with the forums so you can support your users. We’ll make more statistics available to you so you can analyze your user base, and over time we hope to make it easier for you to manage, build, and release localized plugins.

We want to improve how the core software works with your plugin and the plugin directory. We’re going to focus on ensuring seamless upgrades by making the best possible determinations about compatibility, and offer continual improvements to the plugin installer. And we also want to give you a better developer tool set like SVN notifications and improvements to the bug tracker.

We’re also going to experiment with other great ideas to help the community help plugin authors. We want it to be easy for you to offer comments to plugin authors and the community, including user reviews and better feedback. We may experiment with an adoption process for abandoned plugins as a way to revitalize hidden gems in the directory. I’m not sure there is a better way to show how extendable WordPress is and how awesome this community is at the same time.

As Matt said in the 3.0 release announcement, our goal isn’t to make everything perfect all at once. But we think incremental improvements can provide us with a great base for 3.1 and beyond, and for the tens of millions of users, and hundreds of millions of plugin downloads to come.

typetext/htmlbasehttp://wordpress.org/development/feed/
[Community Development ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content 100 Million Plugin Downloads and Counting (iA WebTrends 2008)   [1 views] 68 d ago
languagevalue

WordPress 3.0 Thelonious passed 3 million downloads yesterday, and today the plugin directory followed suit with a milestone of its own: 100 million downloads.

The WordPress community’s growth over the years has been tremendous, and we want to reinvest in it. So we’re taking the next two months to concentrate on improving WordPress.org. A major part of that will be improving the infrastructure of the plugins directory. More than 10,000 plugins are in the directory, every one of them GPL compatible and free as in both beer and speech. Here’s what we have in mind:

We want to provide developers the tools they need to build the best possible plugins. We’re going to provide better integration with the forums so you can support your users. We’ll make more statistics available to you so you can analyze your user base, and over time we hope to make it easier for you to manage, build, and release localized plugins.

We want to improve how the core software works with your plugin and the plugin directory. We’re going to focus on ensuring seamless upgrades by making the best possible determinations about compatibility, and offer continual improvements to the plugin installer. And we also want to give you a better developer tool set like SVN notifications and improvements to the bug tracker.

We’re also going to experiment with other great ideas to help the community help plugin authors. We want it to be easy for you to offer comments to plugin authors and the community, including user reviews and better feedback. We may experiment with an adoption process for abandoned plugins as a way to revitalize hidden gems in the directory. I’m not sure there is a better way to show how extendable WordPress is and how awesome this community is at the same time.

As Matt said in the 3.0 release announcement, our goal isn’t to make everything perfect all at once. But we think incremental improvements can provide us with a great base for 3.1 and beyond, and for the tens of millions of users, and hundreds of millions of plugin downloads to come.

typetext/htmlbasehttp://wordpress.org/news/feed/
[Community Development ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Summer of WordCamp (iA WebTrends 2008)   [2 views] 71 d ago
languagevalue

It’s been summer for about a week now. Whether you’re on vacation or burning the midnight oil, attending a local/nearby WordCamp is a great way to spend a weekend. Meet other WordPress users, developers, designers & consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or raise a toast) with new friends and collaborators. Here are the WordCamps scheduled for this summer, along with what I know about them.

July 3: WordCamp Germany – Berlin, Germany. I love it that they’re using BuddyPress for their event site. They have multiple tracks, and what looks to be a nice variety of sessions. It’s only a few days away, so if you’re thinking of going, get your tickets now!

July 10: WordCamp Boulder – Boulder, Colorado, USA. This was WordCamp Denver last year, but the organizers have decided to mix it up and go back and forth between Denver and Boulder, which also has a thriving tech community. This year the venue is the Boulder Theater (so pretty!), and there will sessions for bloggers and devs alike, plus a Genius Bar to help people get their WordPress sites all fixed up. The speaker lineup looks good, and I hear they’re pumping up the wifi this year. I’ll be there, likely hunched over a notebook with Lisa Sabin-Wilson (author of WordPress for Dummies and BuddyPress for Dummies) to talk about the WordPress User Handbook project, and/or hunched over a sketchbook with Kevin Conboy (designed the new lighter “on” state for admin menus in WordPress 3.0) to work out a new default WordCamp.org theme (using BuddyPress). You can still get tickets!

July 17–18: WordCamp UK- Manchester, England, UK. The roving WordCamp UK will be in Manchester this year, and is probably the closest to BarCamp style of all the WordCamps, using a wiki to plan some speakers/sessions and organizing the rest ad-hoc on the first day of the event. I’ll be attending this one as well, and am looking forward to seeing WordPress lead developer Peter Westwood again. I’m also looking forward to meeting some core contributors for the first time in person, like Simon Wheatley and John O’Nolan. Mike Little, co-founder of WordPress, is on the organizing team of WordCamp UK. Tickets on sale now!

July 24: WordCamp Nigeria – Lagos, Nigeria. Their site seems to have a virus, so no link from here, but if you’re in Nigeria and interested in attending/getting involved, a quick Google search will get you to the organizers.

August 7: WordCamp Houston – Houston, TX, USA. Houston, Texas, birthplace of WordPress! Fittingly, Matt Mullenweg will be there to give the keynote. WordCamp Houston is running three tracks — Business, Blogger and Developer — in recognition of the fact that people who are interested in using WordPress for their business may not actually be bloggers or developers themselves. This used to get labeled as a “CMS” track at previous WordCamps (including NYC 2009), but with WordPress 3.0 supporting CMS functionality out of the box, “Business” is a much more appropriate label. Who wants to bet on if there will be BBQ for lunch?

August 7 : WordCamp Iowa – Des Moines, Iowa, USA. Another placeholder page. Happening, not happening? I’ve emailed the organizer and will update this post once I know more.

August 7–8: WordCamp New Zealand – Auckland, New Zealand. They haven’t announced this year’s speakers or topics, but they’ve been running polls to get community input into the program. Of note: in 2011 WordCamp New Zealand will be shifting seasons and will be in February instead, when the weather is nicer.

August 20–22: WordCamp Savannah – Savannah, Georgia, USA. Disclaimer: I am completely biased about Savannah, since I’m one of the organizers. This will be the first WordCamp in Savannah, and it’s being held at the Savannah College of Art and Design River Club, an awesome venue that used to be a cotton warehouse or something like that. Since Savannah doesn’t really have a cohesive WordPress community yet (though a fair number of people from Savannah attended WordCamp Atlanta earlier this year), this WordCamp is aimed squarely at building a local community. We’ll have a local meet-and-greet, regular sessions with visiting speakers (lots of core contributors coming to this one, plus Matt), and on Sunday it will be combination unconference/genius bar/collaborative workspace. Oh, and a potluck! We’ll also be running a pre-WordCamp workshop for people who have never used WordPress but want to get started, so that they’ll be able to follow the presentations and conversations littered with WordPress-specific vocabulary over the weekend. Ticket sales just opened, so get your tickets now.

For a schedule of all upcoming WordCamps, visit wordcamp.org. The autumn schedule is already packed! If you don’t see WordCamp in your area and are interested in organizing one, get more information and let us know.

typetext/htmlbasehttp://wordpress.org/development/feed/
[Community WordCamp ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Summer of WordCamp (iA WebTrends 2008)   [1 views] 71 d ago
languagevalue

It’s been summer for about a week now. Whether you’re on vacation or burning the midnight oil, attending a local/nearby WordCamp is a great way to spend a weekend. Meet other WordPress users, developers, designers & consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or raise a toast) with new friends and collaborators. Here are the WordCamps scheduled for this summer, along with what I know about them.

July 3: WordCamp Germany – Berlin, Germany. I love it that they’re using BuddyPress for their event site. They have multiple tracks, and what looks to be a nice variety of sessions. It’s only a few days away, so if you’re thinking of going, get your tickets now!

July 10: WordCamp Boulder – Boulder, Colorado, USA. This was WordCamp Denver last year, but the organizers have decided to mix it up and go back and forth between Denver and Boulder, which also has a thriving tech community. This year the venue is the Boulder Theater (so pretty!), and there will sessions for bloggers and devs alike, plus a Genius Bar to help people get their WordPress sites all fixed up. The speaker lineup looks good, and I hear they’re pumping up the wifi this year. I’ll be there, likely hunched over a notebook with Lisa Sabin-Wilson (author of WordPress for Dummies and BuddyPress for Dummies) to talk about the WordPress User Handbook project, and/or hunched over a sketchbook with Kevin Conboy (designed the new lighter “on” state for admin menus in WordPress 3.0) to work out a new default WordCamp.org theme (using BuddyPress). You can still get tickets!

July 17–18: WordCamp UK- Manchester, England, UK. The roving WordCamp UK will be in Manchester this year, and is probably the closest to BarCamp style of all the WordCamps, using a wiki to plan some speakers/sessions and organizing the rest ad-hoc on the first day of the event. I’ll be attending this one as well, and am looking forward to seeing WordPress lead developer Peter Westwood again. I’m also looking forward to meeting some core contributors for the first time in person, like Simon Wheatley and John O’Nolan. Mike Little, co-founder of WordPress, is on the organizing team of WordCamp UK. Tickets on sale now!

July 24: WordCamp Nigeria – Lagos, Nigeria. Their site seems to have a virus, so no link from here, but if you’re in Nigeria and interested in attending/getting involved, a quick Google search will get you to the organizers.

August 7: WordCamp Houston – Houston, TX, USA. Houston, Texas, birthplace of WordPress! Fittingly, Matt Mullenweg will be there to give the keynote. WordCamp Houston is running three tracks — Business, Blogger and Developer — in recognition of the fact that people who are interested in using WordPress for their business may not actually be bloggers or developers themselves. This used to get labeled as a “CMS” track at previous WordCamps (including NYC 2009), but with WordPress 3.0 supporting CMS functionality out of the box, “Business” is a much more appropriate label. Who wants to bet on if there will be BBQ for lunch?

August 7 : WordCamp Iowa – Des Moines, Iowa, USA. Another placeholder page. Happening, not happening? I’ve emailed the organizer and will update this post once I know more.

August 7–8: WordCamp New Zealand – Auckland, New Zealand. They haven’t announced this year’s speakers or topics, but they’ve been running polls to get community input into the program. Of note: in 2011 WordCamp New Zealand will be shifting seasons and will be in February instead, when the weather is nicer.

August 20–22: WordCamp Savannah – Savannah, Georgia, USA. Disclaimer: I am completely biased about Savannah, since I’m one of the organizers. This will be the first WordCamp in Savannah, and it’s being held at the Savannah College of Art and Design River Club, an awesome venue that used to be a cotton warehouse or something like that. Since Savannah doesn’t really have a cohesive WordPress community yet (though a fair number of people from Savannah attended WordCamp Atlanta earlier this year), this WordCamp is aimed squarely at building a local community. We’ll have a local meet-and-greet, regular sessions with visiting speakers (lots of core contributors coming to this one, plus Matt), and on Sunday it will be combination unconference/genius bar/collaborative workspace. Oh, and a potluck! We’ll also be running a pre-WordCamp workshop for people who have never used WordPress but want to get started, so that they’ll be able to follow the presentations and conversations littered with WordPress-specific vocabulary over the weekend. Ticket sales just opened, so get your tickets now.

For a schedule of all upcoming WordCamps, visit wordcamp.org. The autumn schedule is already packed! If you don’t see WordCamp in your area and are interested in organizing one, get more information and let us know.

typetext/htmlbasehttp://wordpress.org/news/feed/
[Community WordCamp ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Another Big Record: Part Deux (iA WebTrends 2008)   [4 views] 75 d ago
languagevalueWe posted last Friday about the Tweets-per-second (TPS) counts we saw during the first week of the World Cup and the record TPS seen at the end of the NBA Championship game. The second week of the World Cup continued to see consistent spikes in TPS after goals that are remarkable increases over our average of 750 TPS. However, we caution to call any goals a record this week both because many of the games were played simultaneously with another one and total numbers were fairly similar to the first week when only one game was being played at a time.

However, we are calling the end of Japan's 3-1 victory over Denmark a record that bests the end of the Los Angeles Laker victory over the Boston Celtics (3,085 TPS). When the referee blew the final whistle, we saw 3,283 TPS. (The Netherlands/Cameroon game ended six minutes earlier.)typetext/htmlbasehttp://feeds.feedburner.com/TwitterBlog

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Like Web Analytics? Check Out The Beyond Web Analytics Podcast (iA WebTrends 2008)   [2 views] 76 d ago
languagevalueDo you like Web Analytics? Do you want to stay up to date on the latest developments in the industry? Recently, a few Web Analytics "geeks" decided to start an audio podcast to interview key people/vendors in the Web Analytics space. The podcast also covers topics related to Web Analytics such as Mobile Measurement, Social Media Tracking, Engagement, etc. With over 20 episodes and 20,000 downloads so far, the podcast has been well received and we'd like to help spread the word. In the most recent installment, you can hear Google's own Phil Mui so click here to listen to that podcast.
You can subscribe to the podcast via RSS at www.beyondwebanalytics.com or you can subscribe to the podcast in iTunes. You can also follow the podcast on Twitter. Enjoy!
Posted by Adam Greco, Beyond Web Analytics typetext/htmlbasehttp://feeds.feedburner.com/blogspot/tRaA

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content FTC Announcement (iA WebTrends 2008)   [6 views] 76 d ago
languagevalueEarly in 2009, when Twitter employed less than 50 people, we faced two different security incidents that impacted a small number of users. Put simply, we were the victim of an attack and user accounts were improperly accessed. There were 45 accounts accessed in a January incident and 10 that April for short periods of time. In the first incident, unauthorized joke tweets were made from nine accounts and attackers may have accessed nonpublic information such as email addresses and mobile phone numbers. In the second, nonpublic information was accessible and at least one user’s password was reset.

Within hours of the January breach, we closed the security hole and notified affected account holders. We posted a blog post about it on the same day. In the April incident, within less than 18 minutes of the hack we removed administrative access to the hacker and we quickly notified affected users. We also posted this blog item about the incident within a few days of first learning about it.

Why are we bringing up these incidents from 18 and 14 months ago that we already told people about? Because the United States Federal Trade Commission (FTC) launched an inquiry into our security practices related to these attacks and today announced that we've reached an agreement that resolves their concerns. Even before the agreement, we'd implemented many of the FTC's suggestions and the agreement formalizes our commitment to those security practices.typetext/htmlbasehttp://feeds.feedburner.com/TwitterBlog

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content A Segmentable Funnel (iA WebTrends 2008)   [1 views] 3 months ago
languagevalueReady for a fun workaround that you can use in Google Analytics if you like? We enjoyed this contribution from a poweruser that anyone can try.
Are you familiar with the Funnel Visualization report?

It's a visual representation of your onsite conversion funnel, showing how many visitors go to each step and how many leave the funnel at that step. You can spot trouble points with your funnel and take steps to correct the issue. Looking for a way to use Analytics to find a small tweak that will make a big difference on your bottom line? Improve just one step of your funnel abandonment - say by 1% - and that could translate to lots more conversions and money by making it easier for people to buy on your site.

However, an issue with the data and the visualization is that you can't segment it to find out what types of visitors are abandoning. For instance, which step is posing more problems for new visitors, than return visitors?

John Henson from LunaMetrics, a Google Analytics Certified Partner, has written a post on the LunaMetrics blog called "Segment your goal funnel in Google Analytics" about a workaround that will allow you to segment the funnel visualization. He calls it the "horizontal funnel" because visually, you look at the funnel from left to right, by using a goal as a step in the funnel, instead of the 10 steps in each funnel provided by Google Analytics. You'll see what he means below and in his post.

He uses the example of what a traditional e-commerce funnel looks like:

Shopping Cart -> Address Info -> Payment Info -> Review Order -> Thank You

And flips it on it's side to be able to segment it. In the image below: the values outlined in blue are the visits to each step, and the values outlined in orange are the exit rate between steps.

In John's words: "It's like a regular funnel, just flipped on it's side, using goals, first steps in funnels, and custom reports....As you can see, this is in a keyword report. So, the funnel can be seen in-line in the report, for whatever segments you want; in this case for individual keyword phrases. And you can apply Advanced Segments or Secondary Dimensions to the report."

He then explains how to implement this workaround easily. Curiosity piqued? Head over to John's post for all the details.


Posted by Jeff Gillis, Google Analytics Team typetext/htmlbasehttp://feeds.feedburner.com/blogspot/tRaA

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Opera and Tjat to showcase new generation of mobile-messaging widgets at Mobile World Congress (iA WebTrends 2008)   [3 views] 6 months ago
Opera Software, the leading mobile-browser provider announced a strategic partnership with deCarta, Inc., to bring maps, local search and travel routes to the Opera browser family. Opera users will be able to access location services directly, based on deCarta’s market-leading technology, adding new functionality and context to the browsing experience.

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content ¡Las Olimpiadas de Invierno! ¡La Ciudad! ¡Los aros! ¡Los perros! (iA WebTrends 2008)   [1 views] 6 months ago
languagevalue

El Comité Olímpico Internacional, el cuerpo oficial de los juegos Olímpicos, ha establecido su grupo oficial de fotos Olímpicas para las personas que deseen compartir sus fotos de los Juegos Olímpicos de Invierno Vancouver 2010 y de los alrededores de la ciudad de Vancouver.

¿Fotos? ¿Olimpiadas? ¿Tus fotos? ¡Sí! en caso de que quedara alguna duda, el COI se enorgullece en invitar a todas las personas a compartir las fotos que hayan tomado durante las Olimpiadas. Como asistente en las Olimpiadas, no tienes derechos comerciales (por ejemplo vender las fotos) sin embargo, te invitamos a que tomes fotos y las compartas en línea.

Durante el tiempo en que estaremos ahí, queremos invitar a los miembros de Flickr que se encuentren en el área de Vancouver a que nos visiten el Lunes 22 de Febrero en Estudio de Deportes de Yahoo! en Yaletown. Exhibiremos fotos del grupo en Flickr de las Olimpiadas y proveeremos un lugar acogedor donde podrás subir tus fotos. Nuestro amigos del COI se unirán a nosotros para responder cualquier pregunta que puedas tener y serán participes de la narración de los Juegos Olímpicos bajo la perspectiva de la comunidad.

Fotos por BigBean, Robert Scales, y kk+, en el grupo de Flickr de las Olimpiadas.


typetext/htmlbasehttp://blog.flickr.net/es/feed/
[es ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content OpenSocial 0.9 OSML and Data Pipelining Beta Launch (iA WebTrends 2008)   [1 views] 9 months ago

Today we are announcing the public beta of OpenSocial 0.9 with OSML and Data Pipelining. For off-site developers and API-based apps, we've had OpenSocial 0.9 REST APIs available for a few months, go check it out. This beta launch today represents the second half of an exciting and feature-packed release of OpenSocial on the MySpace Developer platform.

"What does OpenSocial 0.9 do for me?" you might ask. There are lots of great things:

  • A simple tag-based syntax for accessing data (Data Pipelining).
  • A powerful template system for defining reusable content as "custom tags" for server-side or client-side rendering (OSML).
  • A rich expression language for accessing data (OpenSocial Expression Language - or OS EL).
  • Improved Gadget XML support for writing cross-container apps.
  • Internationalization support with message bundles.
  • Faster renderings performance

 

Now, instead of writing 30+ lines of JavaScript code with requests and callback handlers to get a list of friends, one Data Pipeline tag can retrieve this data:

<os:PeopleRequest key="myFriends" userId="@viewer" groupId="@friends" />

If your app needs to display and format data and UI components, it can be done with OSML markup instead of JavaScript. To define a tag "myapp:PersonBlock" showing a person's name and image in a box, use the following markup.

<script type="text/os-template" tag="myapp:PersonBlock"> <div style="border:3px solid green;"> <img src="${My.person.thumbnailUrl}" /> ${My.person.displayName} </div> </script>

Any data declared with Data Pipeline tags can be easily accessed via the OpenSocial Expression Language (OS EL) within your app. The code to show the name of the first friend in the friend list registered under the key "myFriends" is as simple as this:

The first friend's name is: ${myFriends[0].displayName}

Improved Gadget XML support means your app's source code can be managed with a single code file. Porting between other OpenSocial containers will be greatly simplified. We're also exposing REST APIs for app management. You'll be able to wire in your favorite code editing tools for app management.

As part of the improved Gadget XML support and the new OS EL, you can easily internationalize and localize your app to be used in different cultures. The text of your app can be defined in different message bundles and accessed via OS-EL statements. A "Hello World" app supporting English and Spanish would contain code as below:

<Locale>
<messagebundle>
<msg name="greeting">Hello World</msg>
</messagebundle>

</Locale>

<Locale lang="es">
<messagebundle>

<msg name="greeting">Hola Mundo</msg>

</messagebundle>

</Locale>


...


${Msg.greeting}


This post is just a teaser of what's coming from the MySpace Developer Platform team. Over the next several weeks we'll be diving into the features of 0.9 in more depth, adding tutorials, and building sample apps to get you up and running.

 

There will be a number of tutorials on creating OSML apps linked to from the OpenSocial Version 0.9 Wiki Page. For now, you can create a friends list app as follows:

 

1. Go to the developer site, sign in, and create a new On-site app named "My Friends".

 

2. On the Upload App XML page, scroll down and click the (Beta) App Gadget Source Editor button

 

3. Click the Install button on the gadget editor screen to install the app you've just created.

 

4. Insert the below code in the source text box and save:

 

<?xml version="1.0" encoding="utf-8"?>
<Module xmlns:os="http://ns.opensocial.org/2008/markup" >
<ModulePrefs title="Friends need Hello also" description="This is the desc">
<Require feature="opensocial-0.9"/>
<Require feature="opensocial-templates"/>
<Require feature="opensocial-data"/>
</ModulePrefs>
<Content type="html" view="canvas">
<script type="text/os-data">
<os:ViewerRequest key='vwr' />
<os:PeopleRequest key='friends' userId="@viewer" groupid="@friends" />
</script>
<script type="text/os-template">
<h1>Hello world, ${vwr.displayName}</h1>
Your friends are:

<div>
<os:Repeat expression="${friends}">
<p>
Friend number ${Context.index} is: ${Cur.displayName}
<img src="${Cur.thumbnailUrl}" />
</p>
</os:Repeat>
</div>

</script>
</Content>
</Module>

 

 

 

Happy coding!


[OpenSocial OpenSocial 0.9 OSML Data Piplining ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content New Features for OpenSocial 0.9 REST APIs (iA WebTrends 2008)   [12 views] 9 months ago

Hi everyone,

We are extending our 0.9 REST API offerings by adding new endpoints as well as adding new features to existing endpoints to make our 0.9 offering richer. We are committed to exposing data through Open Standards so app developers can create the finest applications on the web. Some of these new features are not part of the previous MySpace REST APIs so this should encourage you to switch to 0.9 if you haven’t done so already.

The link to the main resource page for REST 0.9 APIs is located here. Please find documentation links and highlights of these new features below.  Please review our Terms of use, especially Section 10.2, before you start using these features.

New Endpoints

StatusMoodComments

This endpoint provides a way to fetch the comments posted on a user’s StatusMood updates. It also provides a way to request the comment author’s basic info (image, name and profile URL) along with the comments themselves. This could reduce the number of calls to the server you need to make if you plan on displaying the commenter’s data along with the comments.

Please see details here.

ProfileComments

This provides a way to fetch the comments posted on a user’s profile. It also provides a way to request the comment author’s basic info along with the comments, which again will reduce the number of calls to the server if that information is needed.

Please see details here.

MediaItemComments
You can now fetch comments posted on a user’s images and videos. Again, this endpoint allows you to fetch the comment author’s basic info to save a second request to the server.

Please see details here.

Enhancements

StatusMood

  • The StatusMood endpoints now offer APIs to fetch friends’ status mood updates as well as provides a way to fetch StatusMood history.
  • Apps can also fetch recent comments on a user status in the same call.
  • MySpace now allows syncing/updating StatusMood from various sources like Twitter. You can get that information in your requests.

Check the documentation for the StatusMood APIs here.

Also don’t forget to check out the filters that this endpoint has to offer.

Activities

We are also adding Activity Streams extension properties to activities returned from our OpenSocial 0.9 Activities endpoint in this release.  Activity Streams is a data format that describes what people are doing around the web, for example: posting photos and videos, sharing music with friends and writing blog entries.  If you are already familiar with the Activity Streams atom format, you can now access all the Activity Streams goodness, like actors, verbs, objects and object-types, in JSON and plain old XML.  Find more information about Activity Streams on the http://activitystrea.ms web site.

Check out the MySpace implementation for the same here.

SDKs

Our PHP and Java SDKs have been updated to support these new features and the others are in the works. Also, these new features are developed using Open Standards like OpenID, OAuth and OpenSocial which should help make your experience smooth.

Also, if you have missed out, visit this earlier blog post for more information about complete suite of REST 0.9 APIs.

Happy coding!


[OpenSocial REST Activities activity stream myspace open platform ActivityStreams MySpaceceID ActivityStrea.ms ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Celebrating free expression 20 years after the fall of the Berlin Wall (iA WebTrends 2008)   [5 views] 10 months ago
languagevalueIn 1989, the fall of the Berlin Wall became a striking symbol for free expression far beyond the borders of Germany. Just 20 years later, Iranian citizens used online tools like YouTube and Twitter to share firsthand accounts of the brutal government crackdown waged against protesters disputing the country's election results. Many Iranians risked their lives to document the violence, despite the government's attempts to expel journalists and stifle any voices of dissent.
The democratizing power of the Internet has enabled individuals to share their stories with a global audience in ways never before possible, and given a voice to those who wouldn't otherwise be heard.
To commemorate the twentieth anniversary of the fall of the Berlin Wall, we're launching a YouTube channel — youtube.com/GoogleFreeExpression — to highlight and celebrate free expression around the world, and we want to hear from you.
This channel is designed to feature your stories and reflections on free expression. Tell us about how you or someone you know has taken a stand for free expression. Perhaps you've protested against something you didn't agree with, taken action when someone else's free speech was being suppressed or been inspired by someone who has stood up for the right to speak out. Make a short video sharing your experience, upload it to YouTube, and add it as a reply to this one:

We'll be featuring the best submissions on the Google Free Expression channel, so be sure to check back in the weeks to come. We look forward to hearing from you.
Annette Kroeber-Riel, European Policy Counsel, recently watched "Getting past the 'Barbed Wireless'"
typetext/htmlbasehttp://feeds.feedburner.com/youtube/PKJx
[berlin wall iran 20th anniversary germany free speech free expression ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Zipalign: an easy optimization (iA WebTrends 2008)   [4 views] 11 months ago
languagevalue

The Android 1.6 SDK includes a tool called zipalign that optimizes the way an application is packaged. Doing this enables Android to interact with your application more efficiently and thus has the potential to make your application and the overall system run faster. We strongly encourage you to use zipalign on both new and already published applications and to make the optimized version available—even if your application targets a previous version of Android. We'll get into more detail on what zipalign does, how to use it, and why you'll want to do so in the rest of this post.

In Android, data files stored in each application's apk are accessed by multiple processes: the installer reads the manifest to handle the permissions associated with that application; the Home application reads resources to get the application's name and icon; the system server reads resources for a variety of reasons (e.g. to display that application's notifications); and last but not least, the resource files are obviously used by the application itself.

The resource-handling code in Android can efficiently access resources when they're aligned on 4-byte boundaries by memory-mapping them. But for resources that are not aligned (i.e. when zipalign hasn't been run on an apk), it has to fall back to explicitly reading them—which is slower and consumes additional memory.

For an application developer like you, this fallback mechanism is very convenient. It provides a lot of flexibility by allowing for several different development methods, including those that don't include aligning resources as part of their normal flow.

Unfortunately, the situation is reversed for users—reading resources from unaligned apks is slow and takes a lot of memory. In the best case, the only visible result is that both the Home application and the unaligned application launch slower than they otherwise should. In the worst case, installing several applications with unaligned resources increases memory pressure, thus causing the system to thrash around by having to constantly start and kill processes. The user ends up with a slow device with a poor battery life.

Luckily, it's very easy to align the resources:

  • Using ADT:
    • ADT (starting with 0.9.3) will automatically align release application packages if the export wizard is used to create them. To use the wizard, right click the project and choose "Android Tools" > "Export Signed Application Package..." It can also be accessed from the first page of the AndroidManifest.xml editor.
  • Using Ant:
    • The Ant build script that targets Android 1.6 (API level 4) can align application packages. Targets for older versions of the Android platform are not aligned by the Ant build script and need to be manually aligned.
    • Debug packages built with Ant for Android 1.6 applications are aligned and signed by default.
    • Release packages are aligned automatically only if Ant has enough information to sign the packages, since aligning has to happen after signing. In order to be able to sign packages, and therefore to align them, Ant needs to know the location of the keystore and the name of the key in build.properties. The name of the properties are key.store and key.alias respectively. If those properties are present, the signing tool will prompt to enter the store/key passwords during the build, and the script will sign and then align the apk file. If the properties are missing, the release package will not be signed, and therefore will not get aligned either.
  • Manually:
    • In order to manually align a package, zipalign is in the tools folder of the Android 1.6 SDK. It can be used on application packages targeting any version of Android. It should be run after signing the apk file, using the following command:
      zipalign -v 4 source.apk destination.apk
  • Verifying alignment:
    • The following command verifies that a package is aligned:
      zipalign -c -v 4 application.apk

We encourage you manually run zipalign on your currently published applications and to make the newly aligned versions available to users. And don't forget to align any new applications going forward!

typetext/htmlbasehttp://feeds.feedburner.com/blogspot/hsDu
[How-to Android 1.6 ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content An introduction to Text-To-Speech in Android (iA WebTrends 2008)   [35 views] 11 months ago
languagevalue

We've introduced a new feature in version 1.6 of the Android platform: Text-To-Speech (TTS). Also known as "speech synthesis", TTS enables your Android device to "speak" text of different languages.

Before we explain how to use the TTS API itself, let's first review a few aspects of the engine that will be important to your TTS-enabled application. We will then show how to make your Android application talk and how to configure the way it speaks.

Languages and resourcesAbout the TTS resources

The TTS engine that ships with the Android platform supports a number of languages: English, French, German, Italian and Spanish. Also, depending on which side of the Atlantic you are on, American and British accents for English are both supported.

The TTS engine needs to know which language to speak, as a word like "Paris", for example, is pronounced differently in French and English. So the voice and dictionary are language-specific resources that need to be loaded before the engine can start to speak.

Although all Android-powered devices that support the TTS functionality ship with the engine, some devices have limited storage and may lack the language-specific resource files. If a user wants to install those resources, the TTS API enables an application to query the platform for the availability of language files and can initiate their download and installation. So upon creating your activity, a good first step is to check for the presence of the TTS resources with the corresponding intent:

Intent checkIntent = new Intent(); checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

A successful check will be marked by a CHECK_VOICE_DATA_PASS result code, indicating this device is ready to speak, after the creation of our android.speech.tts.TextToSpeech object. If not, we need to let the user know to install the data that's required for the device to become a multi-lingual talking machine! Downloading and installing the data is accomplished by firing off the ACTION_INSTALL_TTS_DATA intent, which will take the user to Android Market, and will let her/him initiate the download. Installation of the data will happen automatically once the download completes. Here is an example of what your implementation of onActivityResult() would look like:

private TextToSpeech mTts; protected void onActivityResult( int requestCode, int resultCode, Intent data) { if (requestCode == MY_DATA_CHECK_CODE) { if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { // success, create the TTS instance mTts = new TextToSpeech(this, this); } else { // missing data, install it Intent installIntent = new Intent(); installIntent.setAction( TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); startActivity(installIntent); } } }

In the constructor of the TextToSpeech instance we pass a reference to the Context to be used (here the current Activity), and to an OnInitListener (here our Activity as well). This listener enables our application to be notified when the Text-To-Speech engine is fully loaded, so we can start configuring it and using it.

Languages and Locale

At Google I/O, we showed an example of TTS where it was used to speak the result of a translation from and to one of the 5 languages the Android TTS engine currently supports. Loading a language is as simple as calling for instance:

mTts.setLanguage(Locale.US);

to load and set the language to English, as spoken in the country "US". A locale is the preferred way to specify a language because it accounts for the fact that the same language can vary from one country to another. To query whether a specific Locale is supported, you can use isLanguageAvailable(), which returns the level of support for the given Locale. For instance the calls:

mTts.isLanguageAvailable(Locale.UK)) mTts.isLanguageAvailable(Locale.FRANCE)) mTts.isLanguageAvailable(new Locale("spa", "ESP")))

will return TextToSpeech.LANG_COUNTRY_AVAILABLE to indicate that the language AND country as described by the Locale parameter are supported (and the data is correctly installed). But the calls:

mTts.isLanguageAvailable(Locale.CANADA_FRENCH)) mTts.isLanguageAvailable(new Locale("spa"))

will return TextToSpeech.LANG_AVAILABLE. In the first example, French is supported, but not the given country. And in the second, only the language was specified for the Locale, so that's what the match was made on.

Also note that besides the ACTION_CHECK_TTS_DATA intent to check the availability of the TTS data, you can also use isLanguageAvailable() once you have created your TextToSpeech instance, which will return TextToSpeech.LANG_MISSING_DATA if the required resources are not installed for the queried language.

Making the engine speak an Italian string while the engine is set to the French language will produce some pretty interesting results, but it will not exactly be something your user would understand So try to match the language of your application's content and the language that you loaded in your TextToSpeech instance. Also if you are using Locale.getDefault() to query the current Locale, make sure that at least the default language is supported.

Making your application speak

Now that our TextToSpeech instance is properly initialized and configured, we can start to make your application speak. The simplest way to do so is to use the speak() method. Let's iterate on the following example to make a talking alarm clock:

String myText1 = "Did you sleep well?"; String myText2 = "I hope so, because it's time to wake up."; mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, null); mTts.speak(myText2, TextToSpeech.QUEUE_ADD, null);

The TTS engine manages a global queue of all the entries to synthesize, which are also known as "utterances". Each TextToSpeech instance can manage its own queue in order to control which utterance will interrupt the current one and which one is simply queued. Here the first speak() request would interrupt whatever was currently being synthesized: the queue is flushed and the new utterance is queued, which places it at the head of the queue. The second utterance is queued and will be played after myText1 has completed.

Using optional parameters to change the playback stream type

On Android, each audio stream that is played is associated with one stream type, as defined in android.media.AudioManager. For a talking alarm clock, we would like our text to be played on the AudioManager.STREAM_ALARM stream type so that it respects the alarm settings the user has chosen on the device. The last parameter of the speak() method allows you to pass to the TTS engine optional parameters, specified as key/value pairs in a HashMap. Let's use that mechanism to change the stream type of our utterances:

HashMap<String, String> myHashAlarm = new HashMap(); myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM)); mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, myHashAlarm); mTts.speak(myText2, TextToSpeech.QUEUE_ADD, myHashAlarm);Using optional parameters for playback completion callbacks

Note that speak() calls are asynchronous, so they will return well before the text is done being synthesized and played by Android, regardless of the use of QUEUE_FLUSH or QUEUE_ADD. But you might need to know when a particular utterance is done playing. For instance you might want to start playing an annoying music after myText2 has finished synthesizing (remember, we're trying to wake up the user). We will again use an optional parameter, this time to tag our utterance as one we want to identify. We also need to make sure our activity implements the TextToSpeech.OnUtteranceCompletedListener interface:

mTts.setOnUtteranceCompletedListener(this); myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM)); mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, myHashAlarm); myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "end of wakeup message ID"); // myHashAlarm now contains two optional parameters mTts.speak(myText2, TextToSpeech.QUEUE_ADD, myHashAlarm);

And the Activity gets notified of the completion in the implementation of the listener:

public void onUtteranceCompleted(String uttId) { if (uttId == "end of wakeup message ID") { playAnnoyingMusic(); } }File rendering and playback

While the speak() method is used to make Android speak the text right away, there are cases where you would want the result of the synthesis to be recorded in an audio file instead. This would be the case if, for instance, there is text your application will speak often; you could avoid the synthesis CPU-overhead by rendering only once to a file, and then playing back that audio file whenever needed. Just like for speak(), you can use an optional utterance identifier to be notified on the completion of the synthesis to the file:

HashMap<String, String> myHashRender = new HashMap(); String wakeUpText = "Are you up yet?"; String destFileName = "/sdcard/myAppCache/wakeUp.wav"; myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, wakeUpText); mTts.synthesizeToFile(wakuUpText, myHashRender, destFileName);

Once you are notified of the synthesis completion, you can play the output file just like any other audio resource with android.media.MediaPlayer.

But the TextToSpeech class offers other ways of associating audio resources with speech. So at this point we have a WAV file that contains the result of the synthesis of "Wake up" in the previously selected language. We can tell our TTS instance to associate the contents of the string "Wake up" with an audio resource, which can be accessed through its path, or through the package it's in, and its resource ID, using one of the two addSpeech() methods:

mTts.addSpeech(wakeUpText, destFileName);

This way any call to speak() for the same string content as wakeUpText will result in the playback of destFileName. If the file is missing, then speak will behave as if the audio file wasn't there, and will synthesize and play the given string. But you can also take advantage of that feature to provide an option to the user to customize how "Wake up" sounds, by recording their own version if they choose to. Regardless of where that audio file comes from, you can still use the same line in your Activity code to ask repeatedly "Are you up yet?":

mTts.speak(wakeUpText, TextToSpeech.QUEUE_ADD, myHashAlarm);When not in use...

The text-to-speech functionality relies on a dedicated service shared across all applications that use that feature. When you are done using TTS, be a good citizen and tell it "you won't be needing its services anymore" by calling mTts.shutdown(), in your Activity onDestroy() method for instance.

Conclusion

Android now talks, and so can your apps. Remember that in order for synthesized speech to be intelligible, you need to match the language you select to that of the text to synthesize. Text-to-speech can help you push your app in new directions. Whether you use TTS to help users with disabilities, to enable the use of your application while looking away from the screen, or simply to make it cool, we hope you'll enjoy this new feature.

typetext/htmlbasehttp://feeds.feedburner.com/blogspot/hsDu
[How-to Text-to-Speech Android 1.6 ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content LocoRoco Music Makes Battlefield 1943 Better [Clips] (iA WebTrends 2008)   [5 views] 11 months ago

Maybe not better — the game's already great — but better. "Yakety Sax", too.

癒し動画 「バトルフィールド1943 ロコロコ」 [オレ的ゲーム速報@刃]




[Clips Battlefield 1943 EA Dice Humor ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content JUNOS High Availability (iA WebTrends 2008)   [22 views] more than one year ago
Best Practices for High Network Uptime
[.Net & Windows Programming,Certification,Server Administration ]
iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Fix For appInvites and IFrame app (iA WebTrends 2008)   [3 views] more than one year ago
We’ve heard from a few developers that they are currently experiencing a few issues with Application Invites in the v0.7 container and PostTo for IFrame based applications. We take all platform issues seriously and your feedback and cooperation are paramount for the success of our platform.  We are working on getting the fixes out from our end, but in the meanwhile we wanted to alert you to the fix you can do from your end now.
 
For purely onsite applications:
When creating the Message object that you pass to requestShareApp make sure to include a value for TITLE (cannot be undefined):
 
// create the rSA message
var body = "Some message.";
var title = "This will be ignored but can't be undefined.";
       
// create an opensocial.Message object
var reason = opensocial.newMessage(body); reason.setField(opensocial.Message.Field.TITLE, title);
 
// initiate requestShareApp
opensocial.requestShareApp(recipient_array, reason, your_callback_func);
 
For IFrame applications:
You’ll have to change your reference to our IFrame Kit – This is mandatory as there is not a fix from our side for this.  Rest assured that appropriate actions are being taken to mitigate this from happening in the future.
 
Before you needed the following scripts included:
 
<script src="http://x.myspacecdn.com/OpenSocial/references/gadgets003.js" type="text/javascript"></script>
<script src="http://x.myspacecdn.com/modules/common/static/js/Apps/ifpc003.js" type="text/javascript"></script>
<script src="http://x.myspacecdn.com/modules/common/static/js/Apps/json001.js" type="text/javascript"></script>
<script src="http://x.myspacecdn.com/OpenSocial/IFPC_externalIframe004.js" type="text/javascript"></script>
 
Replace with:
 
<script type="text/javascript" src="http://js.myspacecdn.com/OpenSocial/RPC/RpcContainer.000.js"></script>
<script type="text/javascript" src="IFPC_externalIframe005.js" ></script>
 
<script type="text/javascript">
gadgets.rpc.setRelayUrl('..', 'http://profile.myspace.com/Modules/Applications/Pages/rpc_relay.aspx');            
</script>
 
Code for IFPC_externalIframe005.js can be found HERE .
 
We have updated our sample application for reference.
 
After we have the fix out for appInvites to handle the missing Title you can go back to not including it if you choose.
 
We are deeply committed to the MySpace Open Platform and we’re sorry for any inconvenience this may have caused. We’re working hard to get a fix out now.

 



iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Up, Up, and Away (iA WebTrends 2008)   [9 views] more than one year ago
languagetypetext/htmlvalueTwitter is back and our network capacity is now significantly increased. The planned maintenance that we moved from last night to this afternoon was a success and it took half the time we expected.

When we worked with our network provider yesterday to reschedule this planned maintenance, we did so because events in Iran were tied directly to the growing significance of Twitter as an important communication and information network. Although presumed impossible if not extremely difficult, we decided together to move the date. It made sense for Twitter and for NTT America to keep services active during this highly visible global event.

It's humbling to think that our two-year old company could be playing such a globally meaningful role that state officials find their way toward highlighting our significance. However, it's important to note that the State Department does not have access to our decision making process. Nevertheless, we can both agree that the open exchange of information is a positive force in the world.basehttp://feeds.feedburner.com/TwitterBlog

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content David Recordon: @hulu, I want to be able to organize my queue by show instead of by date. http://gsfn.us/t/3yr9 (iA WebTrends 2008)   [4 views] more than one year ago
languagetypeapplication/xhtml+xmlvalue
David Recordon @hulu, I want to be able to organize my queue by show instead of by date. http://gsfn.us/t/3yr9 27 seconds ago from Twitter - Comment - Like
basehttp://friendfeed.com/

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Erick Schonfeld: RT: @Microsyntax Sets Out To Make Sense Of #twittergrammar http://tcrn.ch/2YI (iA WebTrends 2008)   [3 views] more than one year ago
languagetypeapplication/xhtml+xmlvalue
Erick Schonfeld RT: @Microsyntax Sets Out To Make Sense Of #twittergrammar http://tcrn.ch/2YI 29 seconds ago from Twitter - Comment - Like
basehttp://friendfeed.com/

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Ross Hill: @brendonsinclair great! Look forward to seeing you at #hivebris tonight (iA WebTrends 2008)   [3 views] more than one year ago
languagetypeapplication/xhtml+xmlvalue
Ross Hill @brendonsinclair great! Look forward to seeing you at #hivebris tonight 2 minutes ago from Twitter - Comment - Like
basehttp://friendfeed.com/

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content mashable: Twitter Responds: There is No Official Twitter TV Show - http://bit.ly/ikhcZ (iA WebTrends 2008)   [3 views] more than one year ago
languagetypeapplication/xhtml+xmlvalue
mashable Twitter Responds: There is No Official Twitter TV Show - http://mashable.com/2009... 4 minutes ago from Twitter - Comment - Like
basehttp://friendfeed.com/

iA WebTrends 2008
View original post|Add to del.icio.us | Share

      view feed content Duncan Riley: Mike Tyson’s Daughter in Critical Condition after Accidental Hanging (iA WebTrends 2008)   [3 views] more than one year ago
languagetypeapplication/xhtml+xmlvalue
Duncan Riley Mike Tyson’s Daughter in Critical Condition after Accidental Hanging - http://www.inquisitr.com/24614... 16 minutes ago from The Inquisitr - Comment - Like
basehttp://friendfeed.com/

iA WebTrends 2008
View original post|Add to del.icio.us | Share