Ads 468x60px

freak2code is the blog about latest geek news,software reviews ,trends in technology and more informative stuff......

Tuesday, 14 August 2012

Announcing Version 3.1: Sidebar, Panels, and Post Formats


Announcing Version 3.1: Sidebar, Panels, and Post Formats

 

 
Version 3.1 of WordPress for iOS: Panels & Sidebar
This is a big one! The WordPress for iOS dev team is excited to announce that version 3.1 is now available in the App Store. In this update you’ll find a redesign for both iPhone and iPad, along with loads of new features! Here’s what’s new:

Updated Interface

The app has an all-new look, including graphics, colors, and a new sliding panels interface! We’ll let the screenshots speak for themselves:
Click to view slideshow.

Sidebar Navigation

We’ve added a new way to get around in the app: the Sidebar. The Sidebar allows easy access to any other area of the app with just a swipe and a tap. We also added easy access to app settings and quick photo from the Sidebar as well. To reveal the sidebar, just tap the menu button or swipe the navigation bar from wherever you are in the app at the time.

iPad Panels

To take advantage of the larger screen, we’ve added an all-new Panels interface for the iPad which allows for viewing a lot of information on your blog all at once. Panels can be moved around and resized so that you can view your content however you’d like. You can also remove extra Panels that you don’t need anymore by dragging the entire Panel stack to the right.

Version 3.1 of WordPress for iOS: Updated InterfaceNew Features

In addition to the UI update we’ve added a ton of great new features, including:
  • Post Format SupportIn the post setting tab, you’ll now see an option for setting the post format for your posts. The app will check with your blog to get a list of post formats that your theme supports.
  • WordPress.com Reader and Quick Photo for iPad
    You’ve asked them and here they are! We took the great Quick Photo and WordPress.com Reader features that were already in the iPhone app and made them available for the iPad.
  • All-New WordPress.com StatsHungry for more stats? We’ve added a new stats view that contains all of the same data that you see in your WordPress.com or Jetpack stats.
  • New Post Preview for iPadWhen viewing a post on the iPad, you’ll now get a nice preview of the post including formatting and images.
  • WordPress.com Friend Finder
    Use the new Friend Finder in the WordPress.com Reader to connect up to Facebook or Twitter to find your friends that are blogging on WordPress.com.
  • All-Around Landscape SupportNearly all areas of the app support landscape orientation now, including all of the tabs in the post editor.
  • Easy Site and Dashboard AccessA no brainer. We added buttons on the Sidebar to view your site as well as a Dashboard link so you can access your plugins, widgets, etc.
In addition to all of this great new stuff, we also made many reliability and performance improvements to the app.

Why Stop Here?

Development is continuing at a very rapid pace. We are already marching towards the next big release of the app. So far we are keen on adding a Visual Editor, a Notification Area and support for Featured Images. Want to help out? Check out make.wordpress.org/mobile and the WordPress for iOS dev blog to see how you can get involved!

Left 4 Dead Boomer Action Figure


Left 4 Dead Boomer Action Figure

The fatty zombie has been out from the universe of Left 4 Dead. If you want to bring the disgusting zombie on your desk, let’s go on checking the Boomer action figure.
Left 4 Dead Boomer Action Figure

This is a masterfully sculptured action figure themed by the popular zombie themed PFS video game series Left 4 Dead. The action figure measures 7 inches tall, and is shaped as an iconic zombie from the universe of Left 4 Dead video game series. As we can see from the images, the Boomer action figure comes with deadly subtle details, and also features many points of articulation for various postures including ball-jointed neck, shoulders, wrists, upper torso, hips, ankles, hinged jaw and more, moreover, the detachable torso and attachable intestines allow the zombie to launch its iconic attack. Don’t worry, no puking, no bile on your desk.
Left 4 Dead Boomer Action Figure
The Left 4 Dead Boomer action figure is priced at $19.99 USD. If you’re interested, jump to ThinkGeek for more details.
Left 4 Dead Boomer Action Figure
Additionally, if you need other options, you might like to check the Left 4 Dead 2 Tank collectible figure.

Handmade Retro Hi-Fi Portable Speaker


Handmade Retro Hi-Fi Portable Speaker

We have introduced many nice portable speakers. But if you like making something by yourself, the following handmade retro Hi-Fi portable speaker may be more suitable for you.
Handmade Retro Hi-Fi Portable Speaker

Strictly speaking, it’s not an available Hi-Fi speaker, but a detailed introduction that guides you to make the retro speaker. Mattthegamer463, a skillful crafter living in Canada brought us the wonderful project. He used a bookshelf speaker, a rechargeable battery, a circuit board, and some other components to build the portable speaker. As we can see from the images, the added handle allows you to take the portable speaker with ease, in addition to built-in rechargeable battery, the integrated DC input lets you power it via AC adapter, of course, the 3.5mm audio output allows you to connect the handmade speaker with various music players.
Handmade Retro Hi-Fi Portable Speaker
Handmade Retro Hi-Fi Portable Speaker
The maker has published the detailed making process. If you’re interested in making the portable speaker, jump to his instructables page for more details.

The Pico Projector with Media Player


The Pico Projector with Media Player

Need a handy way to enjoy your favorite songs and videos on the go? Take a look at the pico projector withmedia player, maybe it can meet your requirements.
The Pico Projector with Media Player

This is a multi functional pico projector that measures 68 x 62 x 20mm and weights 84g. As we can see from the images, the projector features ultra portable design, and with the built-in micro SD(HC) card slot, speaker and projector, you can more comfortably enjoy your favorite movies from your memory card with friends when you’re on the go, moreover, the pico projector doubles as a MP3 player, and supports various file formats including MP4, MOV, AVI, MPEG, JPEG, BMP, MP3, WMA and WAV. Apart from that, the pico protector is powered by a built-in rechargeable battery or accompanying AC adapter, and using integrated USB port, you can also synchronize projection with laptop or PC.
The Pico Projector with Media Player The Pico Projector with Media Player
The Pico Projector with Media Player The Pico Projector with Media Player
The pico projector with media player is priced at $99 USD. If you’re interested, jump to Brando online store for more details.

iLP Turntable for iOS Devices


iLP Turntable for iOS Devices

You can the Oval USB turntable to convert your vinyl records into MP3 files. But if you need to convert and transmit the songs from your vintage vinyl records to your iOS devices, the following iLP turntable will help you.
iLP Turntable for iOS Devices

This is an innovative, portable turntable designed for iPhone 4/4S, iPadiPad 2 and iPod touch 4G. As we can see from the images, the turntable features an integrated 30-pin connector, so you can easily dock your iOS device on the portable turntable, most importantly, the ingenious turntable will convert the music in the vinyl record and transmit them into the docking iOS device without the need of computer. It even separates tracks automatically via free EZ vinyl converter app.
Moreover, with the help of USB cable and EZ vinyl converter software, the USB turntable also allows to connect with your computer and convert your vinyl records. Apart from that, with a built-in amp and RCA outputs you can also connect it with your speaker system, enjoying your favorite vinyl records. iLP turntable is priced at $156.89 USD. If you’re interested, jump to Firebox for more details.

App-A-Day Desktop Calendar 2013


App-A-Day Desktop Calendar 2013

It’s a calendar for 2013. But if you can’t wait to find out those awesome iOS apps for your iOS devices, you can also use the App-A-Day desktop calendar 2013 now.
App-A-Day Desktop Calendar 2013

This is a well-designed desktop calendar 2013 that measures 5.5 x 5.25 inches. As we can see from the images, the desktop calendar features gorgeous layout and vivid colors, and comes with a soft cover and 370 pages printed with environmentally-safe inks. Most importantly, the daily desktop calendar can tell you about a new iOS app every day covering travel & food tools, games, music and more in order to offer you another way to get those useful iOS apps instead of only via the Internet.
App-A-Day Desktop Calendar 2013
App-A-Day Desktop Calendar 2013
The App-A-Day desktop calendar 2013 is priced at $13.99 USD. If you’re interested, jump to Urban Outfitters for more details.

AViiQ 3-In-1 Charging Cable


AViiQ 3-In-1 Charging Cable

Don’t want to waste too much room for your charging cables in your pocket? Take a look at the AViiQ 3-in-1charging cable, maybe it can meet your requirements.
AViiQ 3-In-1 Charging Cable

This is a multi functional charging cable that measures only 5.5 inches in length. As we can see from the images, the charging cable features eye-catching portable design, and comes with three practical connectors including 30-pin connector, micro USB connector and mini USB connector in order to charge your iOS devices, smartphones, tablet and other USB gadgets in a handy way. Apart from that, the 3-in-1 charging cable also features an integrated clip that allows you to clip it to your bag or pocket for easy to carry.
AViiQ 3-In-1 Charging Cable
The 3-in-1 charging cable is priced at $23.99 USD. If you’re interested, jump to AViiQ official site for more details.
AViiQ 3-In-1 Charging Cable
Additionally, if you need other options, you might like to check Candi Cord charging cable and more via “charging cable” tag.

CalypsoCase Cabrio iPhone 4 Case


CalypsoCase Cabrio iPhone 4 Case

You’ve been tired of those flexible silicone cases, and want a premium protection for your iPhone 4 or 4S? Take a look at the CalypsoCase Cabrio, maybe the leather iPhone 4 case can meet your requirements.
CalypsoCase Cabrio iPhone 4 Case

CalypsoCrystal’s CalypsoCase Cabrio is a well-designed, form-fitting protective case designed for iPhone 4 andiPhone 4S. The iPhone 4S case is handcrafted in Europe, and features a polycarbonate inner shell, and wrapped with Italian leather, plus soft microfiber lining in order to protect your iPhone 4 or 4S from bumps and scratches in a stylish way, moreover, the custom cutouts allow you access to all buttons and functions of your iPhone 4. Apart from that, the iPhone 4 case ships with an exquisite gift box along with a signed certificate of authentic and material composition.
CalypsoCase Cabrio iPhone 4 Case CalypsoCase Cabrio iPhone 4 Case
CalypsoCase Cabrio iPhone 4 Case CalypsoCase Cabrio iPhone 4 Case
The CalypsoCase Cabrio leather iPhone 4 case is available in four colors including black, brown, green and red, each one is priced at €89 EURO (approx $110 USD). If you’re interested, jump to CalypsoCrystal official site for more details.
CalypsoCase Cabrio iPhone 4 Case CalypsoCase Cabrio iPhone 4 Case
Additionally, if you need other options, you might like to check Gadi leather iPhone 4 case and more via “iPhone 4 case” tag.

Increasing Demand of Web Development Solutions


Increasing Demand of Web Development Solutions

With the Internet becoming an increasingly important part of everyone’s life, no business can afford to be without a significant web presence. However, finding dependable, professional, and affordable web hosting solutions has been a challenge and has kept many businesses out of the arena. Now you can hire dedicated web developers who can handle any task you need completed with little difficult but with excellent results.

Any business that wants to attract attention through the Internet is going to need website development services. Corporations have no trouble with this and spend a significant budget to hire full time web developers. Unfortunately, that requires more money than many businesses have, especially since the cost for Western developers is so high. Choosing the right web development company to give birth to your business web site is very important: it can make or break your online success. Today, websites function, not just the face of your company, but also as its shop. More and more people are opting to use the internet to pay their bills, to earn their money and to buy what they need. Companies are increasingly using websites to, not just advertise their products and services, but also to generate revenue. You need a company that can deliver a functional, attractive and SEO-optimized website. Such companies have professional programmers and developers who have keen knowledge of SEO and various other marketing tools. You can hire dedicated web developers not only to get an attractive website but also to get a high ranking website.

Difficulty with understanding interaction between Classes


Difficulty with understanding interaction between Classes

When I was making a multi-class version to tic-tac-toe, I have ran into several errors, which most of them have to do with how I made them interact between the two classes.

The following classes I have made with the intention:

GameBoard

Code :

/** This class will handle all the aspects of updating the gamebaord
    after every turm
 
 
  @author John Peter McGrath
 
*/
import Java.util.Arrays;
public class GameBoard{
 
 
//instance variables for game board
 
  private final int BOARD_LENGTH = 3;
  private final int LAST_TURN = BOARD_LENGTH * BOARD_LENGTH;
 
  private boolean gameOver = false;
  private int turns = 0;
  private int totalPlayers = players.length;
  private int playerNumber = turns % totalPlayers;
 
 
  // shortened versions of instance variables
  private final int bl = BOARD_LENGTH;
 
  // arrays
 
  private Player[] players = new Player[2];
  private char[][] game_board = new char[bl][bl];
 
  // this will be modified after each player's turn
  // the 2nd array is arranged by rows
  public char[][] claimedSpaces = new char [bl][bl];
 
// instance vaiables for player will be labeled as
// Player.instanceVariable
 
  public GameBoard(){
 
    // customize the players tokens, but leave the last two
    // parameters false to keep the game fair
    players[0] = Player('X', false, false);
    players[1] = Player('O', false, false);
    private boolean stalemate = (turns >= LAST_TURN);
    while (gameOver != true && !stalemate){
      gameOver = checkWin(players, gameOver);
      playerNumber = turns % totalPlayers;
      playerTurn(Player[playerNumber]);
      printGameBoard(game_board);
      // debug
      System.out.println(Arrays.deepToString(claimedSpaces));
 
      turns ++;
    }
    showOutcome(gameOver, stalemate, players);
 
  }
 
// the instance methods for gameboard
 
  /** The player will take its turn
      @param player - the current player taking a turn  
 
  */
  public void playerTurn(Player player){
    player.playersTurn = true;
    player.placeMove();
  }
 
  /** Check to see if any player won the game yet
 
 
 
  @return true if any player won the game
    false if no player won and continue game
  */
 
   public boolean checkWin(Player[] totalPlayers, boolean endGame){
     for (int i = 0; i < totalPlayers; i++){
       if (totalPlayers[i].playerWins == true)
         endGame = true;
       return endGame;
    }
 
  }
 
 
  /** The game will reveal either the winner of the game or
     declare stalemate when no player wins by last turn
  @param gameEnded - has the game ended?
  @param noWinner - if there are no winners, declare stalemate
  @param winner - which player has won the game
     (if and only if game ended without stalemate)
  */
  public void showOutcome(boolean gameEnded,boolean noWinner,
              Player[] winner){
  // precondition
    if (noWinner == true)
       System.out.println("Stalemate");
    else{
      for (int w = 0; w < winner.length; w++){
        if (winner[w].playerWins == true){
          System.out.println("Player " + winner[w]
              + " is the winner!");
        }
      }
    }
  }
 
  // now the printing methods
 
 
  public void printGameBoard(char[][] game){
    for (int r = 0; r < game.length; r++){
      for (int c = 0; c < game[i].length; c++){
        System.out.print(game[r][c] + " ");
      }
      // debug
      System.out.println(Arrays.deepToString(game));
    }
 
  }
 
  // retrieving data
 
  public int getBoardLength()
    {return BOARD_LENGTH;}
 
}


Player

Code :

/** This class will handle all the aspects of the player's turn
 
  which includes placing the token and checking to see if that
  space on the gameboard is unclaimed
 
  @author John Peter McGrath
*/
 
import java.util.Scanner;
import java.util.Arrays;
public class Player{
 
 
// INSTANCE VARIABLES
 
  private char playerToken;
  private boolean playerWins;
 
  // this must be modified by the game board
  public boolean playersTurn;
 
  // sevaral varibales used from game board
  private int bl = GameBoard.getBoardLength();
  private final int winningLines = 2 * bl + 2;
 
  private char[][] claimedSpaces = new char[bl][bl];
  private char[][] possibleWins = new char[winningLines][bl]
 
  public Player(char token, boolean playersTurn, boolean playerWins){
    this.token = token;
    this.playersTurn = playersTurn;
    this.playerWins = playerWins;
 
  }
 
  // instance methods
 
  /** Player takes turn by placing a token on an unclaimed space
 
  */
  public void placeMove(){
    int endValue = bl - 1;
    private Scanner move = new Scanner(System.in);
 
    while (playersTurn == true){
      System.out.print("Please choose row number from 0 to "
      + endValue + ":" ); row = in.nextInt();
      System.out.print("Please choose column number from 0 to "
      + endValue + ":" ); col = in.nextInt();
      checkMove(GameBoard.claimedSpaces, row, col);
    }
 
  }
 
  /** Check if the player made a valid move on the board
    @param spaceClaimed - player can only occupy
           unclaimed spaces
    @param row - the row position of the space
    @param col - the column position of the space
 
  */
 
  public void checkMove(boolean[][] spaceClaimed,
              char[][] playersClaim,
              int row, int col){
 
    if (spaceClaimed[row][col] == true)
        {System.out.println("Sorry, this space has been claimed"
        + " please choose an empty space.");
    }else{
        playersClaim[row][col] = token;
        spaceClaimed[row][col] = true;
        unpdatePossibleWins(possibleWins, playersClaim);
        System.out.println(Arrays.deepToString(possibleWins));
        playerWins = didWinGame(possibleWins)
        playersTurn = false;
      }
  }
 
  /** Check if the player won the game by claiming the whole line
 
    @param winningLine - check each line to ensure that
      the player really has claimed the whole line
 
    @return true if the player did claim at least one line
            false otherwise
 
  */
 
  public boolean didPlayerWin(char[][] winningLine){
    boolean didWinGame = false;
    int spacesPerLine = bl;
    for (int i = 0; i < winningLine.length; i++){
      int countTokens = 0;
      for (int j = 0; i < winningLine[i].length; j++){
        if (winningLine[i][j] == token)
          countTokens ++;
      }
      if (countTokens == spacesPerLine)
        didWinGame = true;
    }
    return didWinGame
  }
 
  /** Create an array based on the winning lines (n is board length)
    there are 2n + 2 ways to win the game since there are
    n rows,
    n columns,
    and 2 diagonal lines based on board length  
 
    @param winningLines - scan all the winning lines to
                find any of the player's tokens
    @param occSpaces - use the n*n board to detect player's tokens
 
  */
 
  public char[][] updatePoosibleWins(char[][] winningLines,
          char[][] occSpaces){
    // the following vairbales only concern index position
    int rowRange = bl;
    int colRange = rowRange*2;
    int diagonalRange = colRange + 2;
    // scan the entire combination of winning lines
    // by scanning it in one dimension
 
    // first scan n columns
    for (int i = 0; i < rowRange; i++){
      for (int r = 0; r < occSpaces.length; r++){
        for (int c = 0; c < occSpaces[r]; c++){
          if (c == i )
            winningLines[r][c] = occSpaces[r][c];
          }
        }
      winningLines[i] = scanLine(winningLines[i], occSpaces; i);
 
      }
 
    // next scan n rows
    for (int i = rowRange; i < colRange; i++){
      for(int r = 0; r < occSpaces.length; r++){
        for (int c = 0; c < occSpaces[r]; c++){
            winningLinesi[i][c] = occSpaces[r][c];
          }
         winningLines[i] = scanLine(winningLines[i], occSpaces; i);
        }
 
      } 
 
    // last scan the diagonal lines
    for (int i = colRange; i < diagonalRange; i++){
      for (int r = 0; r < occSpaces.length; r++){
        for (int c = 0; c < occSpaces[r]; c++){
          // scan the first daigonal from up-left to down-right
          // by making a boolean condition
          boolean firstDiagonal = i == colRange;
          if (firstDiagonal){
            if (c == r)
             {winningLines[i][c] = occSpaces[r][c];}
          }
 
          // scan the second diagonal from up-right to down-ieft
          else if (c == bl - (r + 1)){
           winningLines[i][c] = occSpaces[r][c];
          }
 
 
        }
       winningLines[i] = scanLine(winningLines[i], occSpaces; i);
      }
 
    }
 
    return winningLines;
  }
 
  /** This method will scan for player's claimed tokens
      for each possible winning line
 
  */
  public char[] scanLines(char[] currentLine, char[][] tokenSpace,
                 int iterator){
    for (int i = 0; i < currentLine.length; i++)
      currentLine[i] = tokenSpace[i][iterator]
    return currentLine;
  }
 
  /** Scan the diagonal lines:
    the first goes from top-left to bottom-right
    the second goes from top-right to bottom-left
 
  */
 
 /*
  public char[] scanDiagonals(int iter, int row, int, col,
                char[][] occSpace, char[] currentLine,
                ){
    currentLine[iter] = scanLine(winningLines[iter], occSpace; iter);
 
 
  }
 */
 
}


Main Game (I did not want to put anything else besides creating the game object since the player objects are already created in GameBoard)

Code :

/**This Program will run the Tic-Tac-Toe Game
 
This game will consist of only players, no computers
the gameboard can be customized based on board length
   and the number og players by modifying source code
the game will be over if there are no more empty spaces
or that one of the players win the game
 
@author John Peter McGrath
*/
 
public class TicTacToeV1_Main{
 
 
// Main Game
  public static void main(String[] args){
  GameBoard game = new GameBoard();
 
 
  }
 
 
}


BTW, I do believe that some compilation errors may be the link to that problem

Code :

./GameBoard.java:44: illegal start of expression
    private boolean stalemate = (turns >= LAST_TURN);
    ^
./GameBoard.java:8: package Java.util does not exist
import Java.util.Arrays;
                ^
./GameBoard.java:28: cannot find symbol
symbol  : class Player
location: class GameBoard
  private Player[] players = new Player[2];
          ^
./GameBoard.java:65: cannot find symbol
symbol  : class Player
location: class GameBoard
  public void playerTurn(Player player){
                         ^
./GameBoard.java:78: cannot find symbol
symbol  : class Player
location: class GameBoard
   public boolean checkWin(Player[] totalPlayers, boolean endGame){
                           ^
./GameBoard.java:96: cannot find symbol
symbol  : class Player
location: class GameBoard
              Player[] winner){
              ^
./GameBoard.java:19: illegal forward reference
  private int totalPlayers = players.length;
                             ^
./GameBoard.java:28: cannot find symbol
symbol  : class Player
location: class GameBoard
  private Player[] players = new Player[2];
                                 ^
./GameBoard.java:42: cannot find symbol
symbol  : method Player(char,boolean,boolean)
location: class GameBoard
    players[0] = Player('X', false, false);
                 ^
./GameBoard.java:43: cannot find symbol
symbol  : method Player(char,boolean,boolean)
location: class GameBoard
    players[1] = Player('O', false, false);
                 ^
./GameBoard.java:48: cannot find symbol
symbol  : variable Player
location: class GameBoard
      playerTurn(Player[playerNumber]);
                 ^
./GameBoard.java:51: cannot find symbol
symbol  : variable Arrays
location: class GameBoard
      System.out.println(Arrays.deepToString(claimedSpaces));
                         ^
./GameBoard.java:115: cannot find symbol
symbol  : variable i
location: class GameBoard
      for (int c = 0; c < game[i].length; c++){
                               ^
./GameBoard.java:119: cannot find symbol
symbol  : variable Arrays
location: class GameBoard
      System.out.println(Arrays.deepToString(game));

NullPointerException problem


NullPointerException problem

I just recently learned how to incorporate time into my programs. Specifically using the Timer and TimerTask classes to make a specific action occur after a certain amount of times, and repeat every amount of time. I first tried it, and just made a simple program that counted to 10 then exited. That worked fine. Now my goal is to create an applet that draws red circles on the screen repetitively. Here is my code:
Code java:


import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
import javax.swing.*;
import java.awt.*;
 
public class TimerTest extends JApplet
{
 public static Graphics pa;
 public void paint(Graphics page)
 {
  pa = page;
  pa.setColor(Color.red);
  pa.fillOval(100,100,50,50);
  Timer timer = new Timer();
  timer.schedule(new CountDown(), 1000);
 }
 
 private static class CountDown extends TimerTask
 {
  public static Graphics pa;
  public void paint(Graphics page)
  {
   pa = page;
   pa.setColor(Color.red);
   pa.fillOval(100,100,50,50);
  }
  public void run()
  {
   pa.fillOval(200,200,50,50);
  }
 }
}

WordPress for iOS Update Available


WordPress for iOS Update Available

We’ve focused on the feedback we’ve gotten from the past two releases to make 2.6.4 the most stable release of WordPress for iOS in a long time. This version cures numerous bugs and has been tested especially carefully in two areas: Media Uploader and Post Write/Edit.
WordPress for iOS version 2.6.4 is now available in the App Store.
The last WordPress for iOS version (2.6.3) introduced a bug where the app would save line breaks inconsistently in the code, and also remove line breaks when editing posts. These bugs have been resolved.
We think we’ve also fixed many of the issues around the Media Uploader (before if you uploaded many pictures it sometimes wouldn’t work or even crash the app). Now we’re able to upload tons of images without the app crashing, we’re really hoping it works better for all of you as well.

WordPress for iOS 2.6.5 is Out!


WordPress for iOS 2.6.5 is Out!

Version 2.6.5 of WordPress for iOS is now available in the App Store. This update includes many smaller fixes and eliminates a few more crashes. All in all, more than 30 issues have been taken care of including correct image scaling for Original Size images and a number of fixes around Pages. Update now and let us know what you think!
We had to leave some issues for the next major update of the WordPress for iOS app, 2.7. This version will havePush Notifications, as well as some restructuring behind the scenes to make the app more reliable. Some of you are still reporting issues with duplicated content, which we know we’ve solved in part but needs more looking into. If it happens to you and you’re able to reproduce it, feel free to nudge us about it in the forums so we can investigate further.
Calling all Xcoders! Over at WordPress for Android we now have people contributing and making patches for the app. Of course we’d love to get more help from the WordPress community for the iOS app as well! With your help we can work out the remaining issues and make the app truly great. Holler if you want to help out

WordPress for iOS 2.7 Now Available


WordPress for iOS 2.7 Now Available

After three months of development, WordPress for iOS 2.7 is now available in the App Store. This version fixes over 100 bugs, which means better performance and fewer crashes.

Reliability Updates

The main focus of this release is to improve the app’s performance and reliability. The app has been moved to Core Data, which is a much improved way of managing information locally on the device. Also, the methods used to communicate over XML-RPC have been updated to better handle communication issues and increase reliability of the app. In total there have been 117 changes in this release.
If you’re upgrading from a previous version of WordPress for iOS, your data will be migrated to the new version. If this doesn’t work, you should be able to delete the app and reinstall.

UI Improvements

We’ve cleaned up the Post Editor interface to make it easier to write and edit posts and pages. Simply select the icons along the bottom of the post editor to edit post settings, view attachments and add media. You can also now upload multiple media objects at once!

‘Pull to refresh’ has been added to the list views of the app. To refresh the list, simply pull down until the arrow flips around and then release:

Also, emails and URLs in the comment view are now tappable so that you can easily get in touch with someone who has left a comment on your site.
Be sure to update as soon as possible, and please let us know what you think of WordPress for iOS 2.7.

Get Involved

We are always looking for iOS devs at any skill level to contribute towards the app. If you want to get involved,visit the Developer section at ios.wordpress.org.
Please follow the WordPress for iOS Open Source project @WordPressiOS on Twitter to get the latest news and notifications about updates.

What’s next for WordPress for iOS


What’s next for WordPress for iOS

Version 2.7.2 of the WordPress for iOS app just becameavailable on the App Store. It fixes a number of lingering crashes and bugs. All in all 28 crash/bug reports were closed in this release:
  • Fixed crash when the password had a space, on comment moderation, plus 7 more.
  • Several bugfixes.
  • Use blavatars instead of favicons.
  • XML-RPC fix for self-hosted blogs. (Note: if you were unable to use 2.7.1, you should be able to use this version!)
Check out the Trac milestone for the complete list.

What’s next?

With the app being much more stable, it’s time to make up for lost ground. We have an agressive release schedule laid out for 2011, in which we’re hoping to add many of the things you’ve been asking about. We’re currently hard at work with WordPress for iOS 2.8 – the next major release of WordPress for iOS.
The most important to-do in the 2.8 road map is Localization. WordPress for iOS will now become much more accessible for many users. 2.8 will also introduce a Stats view (finally!), a Quick Photo button, as well as a few more nifty improvements.
We’ll never stop improving the app, wether it be fixing issues or enhancing functionality.

Big Update: WordPress for iOS 2.8 Available Today!


Big Update: WordPress for iOS 2.8 Available Today!

It’s been in the works for about two months, and we hope you agree with us that it was worth the wait. This is the first app version in a long time where we’re actually adding features, previously we’ve been 100% focused on improving stability, error messages, and help. While these efforts will continue indefinitely, we now feel like the app is stable enough to start adding some long-awaited features. The Quick Photo button, lets you snap a picture of something happening right now and blog about it quickly. We’ve added Stats to the app (finally!). The app has also been translated to 10 languages, including Spanish, French, Portuguese, and Japanese.

Quick Photo

The “Quick Photo” button is a big step towards the next-generation WordPress app. It’s the first feature that’saction-centric, meaning that instead of picking the blog, and then selecting what you want to do with it, you pick your action first. The thinking is that an app should be all about getting in and out quickly, performing a specific task.

As you launch the app, you’ll notice there’s now a button in the bottom of your blogs list. Tap it to launch the camera and take a picture, when you’re satisfied you can add a title or a description (if you want, both are optional), and boom — you’re done! The function remembers the last blog you posted a Quick Photo to and will use that for future posts as well. Note: iPhone only for now.

Stats

Finally you’re able to check your blog’s statistics on the go. There are charts for Daily, Weekly, and Monthly page views, swipe over them to see the others. You can also see Daily Views by date, as well as top Post Views, Referrers, Search Terms, and Clicks for the past 7 days.
The Stats feature natively works for all WordPress.com blogs, however you’ll need Jetpack or the stand-aloneStats plugin to see stats for your self-hosted WordPress blog. We recommend that you enable Jetpack on your site, as we’ll add app-specific functions to it in the future to help further enhance the apps in a quicker turnaround time.

Localization

This has been long awaited for a lot of you. We’re happy to report that the WordPress for iOS app is now completely translatable, and 2.8 adds support for 10 languages: Japanese, Italian, Portuguese, Spanish, Swedish, Hebrew, German, Dutch, French, and Croatian.
Is your language not translated yet? You can very easily add it yourself, and we’ll put it in the app in a future release! To get started, visit the WordPress for iOS project on translate.wordpress.org (learn more). You don’t have to translate all strings, other people will join in to translate remaining strings.

Other changes

While we’re excited about adding a few new, much requested features, we know that stability is still an issue. We’ve been able to resolve 3/4 of all crashes in the app. This update fixes a number of additional crashes and bugs. The full list of crash and bug fixes is available in the WordPress for iOS Trac.

New in Version 2.9: Full Screen Editing and Text Formatting


New in Version 2.9: Full Screen Editing and Text Formatting


Version 2.9 of WordPress for iOS screenshot with the new HTML format bar and full-screen editingThe new post editor
We’re excited to give you the next major version of WordPress for iOS. The focus of this release is to further improve stability and add a few long-awaited new features.

What’s new?

  • A Feature-Rich Content Editor. Now you can easily format text, make bulleted lists, create links, and do all kinds of other fancy stuff. (It’s about time, right?) Read more
  • Full Screen Editing. No more teeny-weeny content editor — now you can view more text at a time while you post on the go. Read more
  • Reading Made Easy. Keeping track of your favorite blogs has never been easier. Browse all the latest posts on blogs you follow in one place, right from your iPhone. Read more (no pun intended!)
Updated features
  • Quick Photo will now use the post format for images (if your theme supports it).
  • You can now post pictures that you’ve already taken with Quick Photo.
  • Your stats referrer links and comment links can now be opened right from this app.
Version 2.9 also includes numerous other bug fixes and improvements not listed here. For a full list, visit the 2.9 Trac milestone.

A Feature-Rich Content Editor

WordPress for iOS 2.9 HTML Format Bar
Having the ability to easily style text, • create • lists, and add links has been requested since version 1.0 of WordPress for iOS. While you could type the tags manually, and use the elusive “Link Helper” feature to create links, it was not optimal.
In 2.9, a format bar is added on top of your regular keyboard that mimics the look and feel of the keys you’ve become so familiar with. Select some text, press a formatting button, and bam! The text is wrapped with the proper tags. If you don’t select any text, both the opening and end tag will be output and the cursor placed in the middle. Easy-peasy!
The format bar is enabled for both the iPhone, iPad, and iPod Touch, and adjusted to the respective keyboards and device rotation. Try turning your iPhone to landscape mode when editing a post! The bar will shrink in size to give you more space to write on.

Full Screen Editing

WordPress for iOS 2.9 - Full Screen EditingYour phone has a relatively small screen. When writing a blog post, a large portion of it is taken up by the keyboard itself. While you’re not likely to write an 8,000 word post on your phone, wouldn’t it be great to get just a little more space? In 2.9, the top navigation is hidden, giving you more space to write on. This is particularly useful in landscape mode, where space is even more limited.
When the post is ready to go, just press Done on the format bar and you’ll be right back in the Post editor.

Reading Made Easy


WordPress for iOS ReadFollow your favorite blogs on the go!
If you have one or more WordPress.com blogs in your WordPress for iOS app you’ll now see a Read button in the blogs list. This is the fastest way to keep up with posts from blogs you’re following on WordPress.com. Here’s how it works: if you go to any WordPress.com blog and click the Follow button, you’ll not only get email notifications about new posts from that blog, they’ll also show up right in the app!
You can manage the blogs you’re following in your WordPress.com dashboard, where you can even add external RSS feeds.
Don’t follow many blogs yet? In the app’s “Read” screen you’ll also find Freshly Pressed, listing the some of the most interesting posts from around the WordPress.com network. Or you can tap the little arrow button and select from a multitude of interesting topics, such as Art, Technology, Books, and many more.
This Read function is in Beta and will be improved over time, so we’d very much like to hear what you like about it and what you’d want to see next! Post a comment below or reach out to us on Twitter.

What’s next?

While we’re very proud of this release, we’re not resting! We’re currently in the planning stages of WordPress for iOS 3.0 which is going to be the biggest update to the WordPress for iOS app since its birth. The plan is to take an overall look at where the app is, and streamline it for what you use it for the most.
A more imminent update is coming shortly, with updated strings for numerous languages. If you’d like to help us translate the WordPress for iOS app into your native language, check out the translation project.

Now Available: Publish Photos Quickly Using Camera+


Now Available: Publish Photos Quickly Using Camera+

WordPress integrates Camera+
If you’re passionate about posting great photos on your blog, you might just fall in love with this new feature. If you have Camera+ 3.0 on your phone (and WordPress for iOS 2.9.5 or higher), you’ll be able to quickly post photos using the Camera+ app! Simply launch the WordPress app, and tap the Photo button.
Posting a photo from the Camera+ Lightbox is dead easy. Tap “Add Photo from Camera+,” and your phone switches to the Camera+ app – select a photo to load it into the WordPress app. Add a Title and a Description (both optional), and boom! You’re done.
Using Camera+ to snap your photo is just as easy. Tap “Take Photo with Camera+” to switch to the Camera+ app’s camera. Make a “meow” sound to locate your cat, add effects, borders, and crop your photo. When you’re done, just press “Use” and your photo is imported into the WordPress app where you can add details if you want.

What’s Next

As more camera apps open up their features for other apps, we’ll look into making more options available. Camera+ was the first to open their app up for integrations, but hopefully more will follow.
For now, the Camera+ options are only available for the Photo button on iPhone, but we’re hoping to add it to the Post Editor very soon as well. If you don’t have Camera+ on your phone, the options simply won’t be shown. Be sure to subscribe to this blog and follow us on Twitter to get the latest news first.

Recent Posts