Index: wp-admin/includes/class-wp-plugin-install-list-table.php
===================================================================
--- wp-admin/includes/class-wp-plugin-install-list-table.php	(revision 28676)
+++ wp-admin/includes/class-wp-plugin-install-list-table.php	(working copy)
@@ -74,6 +74,9 @@
 					case 'tag':
 						$args['tag'] = sanitize_title_with_dashes( $term );
 						break;
+					case 'category':
+						$args['category'] = sanitize_title_with_dashes( $term );
+						break;
 					case 'term':
 						$args['search'] = $term;
 						break;
Index: wp-admin/includes/plugin-install.php
===================================================================
--- wp-admin/includes/plugin-install.php	(revision 28676)
+++ wp-admin/includes/plugin-install.php	(working copy)
@@ -125,37 +125,110 @@
 }
 
 function install_dashboard() {
-	?>
-	<p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="%1$s">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%2$s">this page</a>.' ), 'https://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
-
-	<h4><?php _e('Search') ?></h4>
+?>
+	<br class="clear" />
 	<?php install_search_form( false ); ?>
 
-	<h4><?php _e('Popular tags') ?></h4>
-	<p class="install-help"><?php _e('You may also browse based on the most popular tags in the Plugin Directory:') ?></p>
-	<?php
+	<?php install_category_list(); ?>
+	
+	<div class="top-plugins" style="width: 100%">
+		<div class="featured-plugins" style="width: 30%; float: left; padding: 1em; margin-right: 7em;">
+		<h4><?php _e( 'Featured plugins' ); ?></h4>
+		<?php install_short_plugin_list( 'featured' ); ?>
+		</div>
 
-	$api_tags = install_popular_tags();
+		<div class="popular-plugins" style="width: 30%; float: left;">
+		<h4><?php _e( 'Popular plugins' ); ?></h4>
+		<?php install_short_plugin_list( 'popular' ); ?>
+		</div>
+	</div>
+	
+	<br class="clear" />
+<?php
+}
+add_action('install_plugins_dashboard', 'install_dashboard');
 
-	echo '<p class="popular-tags">';
-	if ( is_wp_error($api_tags) ) {
-		echo $api_tags->get_error_message();
-	} else {
-		//Set up the tags in a way which can be interpreted by wp_generate_tag_cloud()
-		$tags = array();
-		foreach ( (array)$api_tags as $tag )
-			$tags[ $tag['name'] ] = (object) array(
-									'link' => esc_url( self_admin_url('plugin-install.php?tab=search&type=tag&s=' . urlencode($tag['name'])) ),
-									'name' => $tag['name'],
-									'id' => sanitize_title_with_dashes($tag['name']),
-									'count' => $tag['count'] );
-		echo wp_generate_tag_cloud($tags, array( 'single_text' => __('%s plugin'), 'multiple_text' => __('%s plugins') ) );
+/**
+ * Display a brief unordered list of plugins.
+ */
+function install_short_plugin_list( $type, $limit = 10 ) {
+	$limit = intval( $limit );
+	if ( $limit < 1 )
+		$limit = 1;
+		
+	$key = "short_plugin_list_{$type}_{$limit}";
+	$api = get_site_transient( $key );
+
+	if ( !$api ) {
+		$api = plugins_api( 'query_plugins', array( 'browse' => $type, 'page' => 1, 'per_page' => $limit ) );
+	
+		if ( is_wp_error( $api ) ) {
+			echo '<p>' . $api->get_error_message() . '</p>';
+			return $api;
+		}
+		set_site_transient( $key, $api, 3 * HOUR_IN_SECONDS );
 	}
-	echo '</p><br class="clear" />';
+	
+	echo '<ul class="'.esc_attr( $type ).'-plugins">';
+	foreach ( $api->plugins as $plugin ) {
+		echo '<li>';
+		echo '<a href="' . self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin->slug .
+							'&amp;TB_iframe=true&amp;width=600&amp;height=550' ) . '" class="thickbox" title="' .
+							esc_attr( sprintf( __( 'More information about %s' ), $plugin->name ) ) . '">' . esc_html( $plugin->name ) . '</a>';
+		echo '</li>';
+	}
+	echo '</ul>';
 }
-add_action('install_plugins_dashboard', 'install_dashboard');
 
 /**
+ * Return a list of plugin categories.
+ */
+function install_get_category_list( $args = array() ) {
+	$key = md5(serialize($args));
+	if ( false !== ($categories = get_site_transient('plugin_categories_' . $key) ) )
+		return $categories;
+
+	$categories = plugins_api('hot_categories', $args);
+
+	if ( is_wp_error($categories) )
+		return $categories;
+
+	set_site_transient( 'plugin_categories_' . $key, $categories, 3 * HOUR_IN_SECONDS );
+
+	return $categories;
+}
+
+/**
+ * Display a list of plugin categories.
+ */
+function install_category_list( ) {
+	
+	$categories = install_get_category_list();
+	$categories = array_values( $categories );
+	
+	echo '<div class="plugin-categories" style="margin-top: 1em" >';
+	for ( $i=0; $i < 4; $i++ ) {
+		echo '<div class="plugin-category-big" style="float:left; width: 15%; padding: 1em; margin: 0 2em 0 0; border: 1px solid black; font-weight: bold;">';
+		echo '<a href="' . esc_url( self_admin_url('plugin-install.php?tab=search&type=category&s=' . urlencode($categories[$i]['name'])) ) . '">';
+		echo esc_html( $categories[ $i ]['name'] );
+		echo '</a>';
+		echo '</div>';
+	}
+	echo '<br class="clear" />';
+	for ( $i=4; $i < 8; $i++ ) {
+		echo '<div class="plugin-category-small" style="float:left; width: 15%; padding: 1em; margin: 0 2em 0 0; border: 1px none;">';
+		echo '<a href="' . esc_url( self_admin_url('plugin-install.php?tab=search&type=category&s=' . urlencode($categories[$i]['name'])) ) . '">';
+		echo esc_html( $categories[ $i ]['name'] );
+		echo '</a>';
+		echo '</div>';
+	}
+	
+	echo '</div>';
+	echo '<br class="clear" />';
+	
+}
+
+/**
  * Display search form for searching plugins.
  *
  * @since 2.7.0
@@ -171,6 +244,7 @@
 			<option value="term"<?php selected('term', $type) ?>><?php _e('Keyword'); ?></option>
 			<option value="author"<?php selected('author', $type) ?>><?php _e('Author'); ?></option>
 			<option value="tag"<?php selected('tag', $type) ?>><?php _ex('Tag', 'Plugin Installer'); ?></option>
+			<option value="category"<?php selected('category', $type) ?>><?php _ex('Category', 'Plugin Installer'); ?></option>
 		</select>
 		<?php endif; ?>
 		<input type="search" name="s" value="<?php echo esc_attr($term) ?>" autofocus="autofocus" />
