0

Why the Adobe/RIM announcement is important

Posted by RJ Owen on Nov 9, 2009 in - Miscelleneous  | View Original Article
  Adobe CEO Shantanu Narayen was at RIM's annual BlackBerry developer convention today with some exciting news about the ways that Adobe and RIM are working together to bring great experiences to the BlackBerry. In this entry we'll discuss what the announcement contained and why it's important to you.

Tags: , , , , ,

 
0

A summary for Flash 10.1, Flash Mobile, Flash on iPhone, Air Mobile

Posted by Alessandro Pace on Nov 2, 2009 in - Miscelleneous  | View Original Article
  Here is a summary for Flash Mobile support and development that I put together from various sources: Flash 10.1: supports mobile features and capabilities. Runs both AS3 and AS2 code. Flash 10.1 will be a browser plugin. Flash 10.1 &...

Tags: , ,

 
0

What feature do you use most on your mobile phone?

Posted by Rich Tretola on Nov 1, 2009 in - Miscelleneous  | View Original Article
  With all of this talk lately about the Flash Player coming to mobile, I thought I would ask a very simple question. What feature do you use most on your mobile phone? Please take part in this poll by clicking...

Tags: ,

 
0

Has your strategy changed on mobile (now that Flash Player mobile has been announced)?

Posted by Rich Tretola on Oct 12, 2009 in - Miscelleneous  | View Original Article
  Adobe has announced that the browser based Flash player 10.1 will soon be running on every major mobile platform (Windows Mobile, Android, Blackberry, Symbian, WebOS) except Apple's iPhone. (See my opinion on Apple here). They also announced that although Apple...

Tags: , , ,

 
0

New Poll: How soon would you buy a new phone if you could get the Flash Player on it?

Posted by Rich Tretola on Sep 28, 2009 in - Miscelleneous  | View Original Article
  It has been known for quite some time that as part of the open screen project Adobe has been working with chip manufacture ARM on getting the Flash Player onto many devises including mobile and set top boxes.

Tags: , ,

 
0

jQTouch – jQuery Plugin For Mobile Web Development

Posted by W3Avenue Team on Sep 1, 2009 in - Javascript  | View Original Article
 

jqTouch is a jQuery plugin that allow you to create web applications for devices containing mobile WebKit browsers like iPhone, G1, and Pre. Now you can easily create great looking application for these devices using only HTML, CSS & JavaScript.

jQTouch provides native animations, automatic navigation, and themes. You can easily customize jQTouch through various options such as: enable full screen, style the status bar when running as a full screen, set icon, automatic glossy button effect on icon, image preloading and several more.

Developed by David Kaneda; jQTouch is available for download under MIT License.  You can find further information, demo & download on jQTouch’s Website.

Similar Posts:

Tags: , , , , ,

 
0

Mobile DB Performance Testing: with Hardware

Posted by Chris Brandsma on Aug 24, 2009 in - Dotnet  | View Original Article
 

NOTE: this is the same post from a week ago, but now I added in performance times from actual devices.

1. Palm Treo 750 (300 Mhz)

2. Palm Treo Pro (600 Mhz)

3. HP iPAQ hw6945 (416 Mhz) – oldest device

First change for the previous listings: cpu is not everything.  The iPAQ has a faster cpu than the  Treo 750, but is slower on most tests (could be memory, or Windows Mobile 5 vs Windows Mobile 6).

A coworker and me were working on some database performance testing for mobile platforms recently.  Our goal was to get some metrics between SQL CE, SQLite, and UltraLite (a Sybase  product).  Actually, that was my goal, my coworker also wanted to test out Perst, which is an OO database – instead of a relational database.

Now a disclaimer: these tests are not authoritative.  This is not a test of everything you could ever want to test on a mobile database.  In fact, the tests are quite simple.  Also, we are not taking money from any group, so the idea is there is not bias either.  But if anyone would like more authoritative tests – send money.

Finally, performance is not the final statistic for any mobile project, so don’t base your decisions strictly on this.  Notably, how to synchronize the database and memory usage are both huge topics.

On running the test: the metrics I’m displaying are from a WinCE 6.0 emulator, running .net cf 3.5.  But not an actual physical device.  Times from a physical device also vary as there are wide differences between device hardware.  On one device I used, the times were 2-3 times faster on the physical device than the emulator.  But the other important info here is .net cf 3.5.  Microsoft reports a 30% performance increase in moving between .net cf 2.0 and .net cf 3.5.

Finally, all times are reported in milliseconds.  So 1000 is 1 second.

Create Database

This is the first performance category – and frankly, the one I care the least about.  In the code I write, you create the database once, and work with it from there.  But just in case this does matter to you, here it is.

The tests consists of creating a brand new database, along with a few tables.  Here is the SQL that was executed for SQL CE (and variations on this were used for each of the other databases):

   1: CREATE TABLE T1 (i bigint not null PRIMARY KEY, s nvarchar(50))
   2: CREATE UNIQUE INDEX s_idx ON T1 (s)
   3:
   4: CREATE TABLE Product (id bigint not null PRIMARY KEY, Name nvarchar(50))
   5: CREATE TABLE Customer (id bigint not null PRIMARY KEY, Name nvarchar(50))
   6: CREATE TABLE ProductOrder (id bigint not null PRIMARY KEY, ProductId bigint, CustomerId bigint, Price decimal, CreatedDate DateTime)
   7: CREATE INDEX poc_idx ON ProductOrder (CustomerId)
   8: CREATE INDEX pop_idx ON ProductOrder (ProductId)
Emulator Treo 750 Treo Pro HP iPAQ
Perst 3500 952 861 925
SQLite 3031 1530 970 1730
UltraLite 3507 2210 1964 3198
SQLCE 4768 2428 2083 4047

None of them really stand out here.  The difference between 3.5 seconds and 4.7 seconds is negligible to me.

Insert

Now this one I care about.  Here we are attempting a bulk insert of 2000 records into the T1 table (see above).  This is a key task if you plan on synchronizing the database with a central server. If you want to see the general code for this, below is the SqlCe code.

   1: using (DbConnection conn = SqlCeCommon.CreateConnetion())
   2: {
   3:     conn.Open();
   4:
   5:     using (var txn = conn.BeginTransaction())
   6:     {
   7:         using (DbCommand cmd = conn.CreateCommand())
   8:         {
   9:             cmd.CommandText = "INSERT INTO T1 (i, s) VALUES(@i, @s)";
  10:             var p1 = cmd.CreateParameter();
  11:             var p2 = cmd.CreateParameter();
  12:             p1.ParameterName = "i";
  13:             p2.ParameterName = "s";
  14:             p1.DbType = DbType.Int64;
  15:             p2.DbType = DbType.String;
  16:             p2.Size = 50;
  17:             cmd.Parameters.Add(p1);
  18:             cmd.Parameters.Add(p2);
  19:             cmd.Prepare();
  20:             long key = 1999;
  21:             for (long i = 0; i < nRecords; i++)
  22:             {
  23:                 key = (3141592621L*key + 2718281829L)%1000000007L;
  24:                 p1.Value = key;
  25:                 p2.Value = System.Convert.ToString(key);
  26:                 cmd.ExecuteNonQuery();
  27:             }
  28:         }
  29:         txn.Commit();
  30:     }
  31: }
Emulator Treo 750 Treo Pro HP iPAQ
Perst 5948 3890 2877 6454
SQLite 3012 2735 1845 2810
UltraLite 4235 3485 3157 5359
SQLCE 11413 9212 8586 12051

First off, SQLite wins this one hands down, nudging out UltraLite and handily beating Perst.  As for SQLCE, I don’t know what happened there.

Update

This time, take the text column from the T1 table and update it based on the index.  Again, we are executing these updates one at a time (2000 of them), not in bulk.

Emulator Treo 750 Treo Pro HP iPAQ
Perst 1650 1386 1719 1741
SQLite 3000 2897 2696 3775
UltraLite 9047 6309 5815 6739
SQLCE 5851 6556 6222 8215

Perst blows the competition away in this test, with SQLite not far behind.  But I would say that SQLCE also gave a respectable showing in this test.  Also, and perhaps more interestingly, the performance times between the emulator and the physical devices are not that different – and in the case of SQLCE, the physical device is SLOWER!

Search Tests

The next set of test are to perform a search based on Primary Key and by a text column (indexed).  We are searching for all 2000 records that were inserted (from the insert test), but one record at a time.

Primary Key Column

Emulator Treo 750 Treo Pro HP iPAQ
Perst 1809 1602 1507 2048
SQLite 9868 5926 5442 7980
UltraLite 5637 4143 3829 5541
SQLCE 17898 14330 15219 15586

Indexed Text Column

Emulator Treo 750 Treo Pro HP iPAQ
Perst 2435 2903 2243 3016
SQLite 9838 6015 5700 6470
UltraLite 5698 4552 3904 5290
SQLCE 16022 14435 15703 15929

Here you can really see Perst come out into the lead.  But it is the SQLCE times that are rather disheartening.  Problem is they used to be WORSE!  The SQLCE Text is the one test were I did some real performance tuning.  The biggest difference maker was being VERY specific about parameter types and sizes.  (Note: once I did that for SQLCE, I also did the same for the other providers).  Considering where SQLCE came out in this test, I give SQLite and UltraLite a pass – but I was surprised at the (lack of) performance of SQLite in this case.

Also, since both columns were indexed, it is nice to see there was not a noticeable difference between selecting on the primary key verses on an indexed text column.

Iterate

This is the most straight forward of the tests.  Make a query that grabs all of the records out of a table, and get the data out of them.  Nice simple loop, no filters.

Emulator Treo 750 Treo Pro HP iPAQ
Perst 1946 1807 2225 2988
SQLite 1081 685 557 880
UltraLite 1945 1588 1146 1666
SQLCE 1233 965 688 1096

Here again the differences are negligible between the different databases.  UltaLite and Perst are the slowest, SQLite is the fastest with SQLCE close behind.  But all are between 1 and 2 seconds so who cares.

Delete

Again, a simple test.  Delete everything in the table – one record at a time.

Emulator Treo 750 Treo Pro HP iPAQ
Perst 6341 4905 4379 7038
SQLite 2481 2137 1520 2131
UltraLite 5488 3704 3580 4089
SQLCE 8807 8931 7816 11439

Some might be surprised by the Perst numbers here.  But after talking it over, this is somewhat expected if you look at the INSERT times.  The INSERT nearly matches the DELETE.  So if it takes a long to to allocate space, it takes a long to remove it as well.  So no supprise that SQLite runs away with this one.

Join

OK, this is actually one of the more significant tests.  There is an issue with joins on mobile database – they stink.  And the more you add, the worse they get.  Side issue is you get a VERY limited number of index types (do you want ascending or descending).

Anyway, the test is simple.  If you look at the Create test you will see the tables we are dealing with.  I add  100 rows into the Product table and 50 records into the Customer table, then 5000 records (each customer has order one of each product) into the order table.

Then the test (and what is timed) is to execute the following query and extract the results.

   1: SELECT c.Name as Customer, p.Name as Product, o.Price

   2: FROM ProductOrder o

   3: LEFT OUTER JOIN Product p on p.ID = o.ProductId

   4: LEFT OUTER JOIN Customer c on c.ID = o.CustomerID

OK, if you are looking at the results, you see a cop-out.  I didn’t get the Perst code written.  Hopefully this will shame my coworker into getting this done.  :) (hi Priyesh).  But you have the other three results.

Emulator Treo 750 Treo Pro HP iPAQ
Perst
SQLite 3948 3171 2355 3480
UltraLite 8780 6651 5747 6683
SQLCE 5618 6113 5365 7079

Here you see again, SQLite as run into the lead.  I would also say that UltraLite and SQLCE give a very respectable showing.

Database size

These are mobile devices, space is very limited.  You laptop toting developer all want to talk about gigabytes,  I’m happy to be talking about megabytes in tens – not even hundreds.  So final database size is important.

Perst 408k *
SQLite 333k
UltraLite 480k
SQLCE 640k

* Incomplete result

Because I did not complete the Perst tests, take that number with a grain of salt.  All of the other are reasonably accurate though.  Amazingly, SQLite came out ahead again.

Conclusion

Again, these are not conclusive tests.  Mileage may vary, other factors may apply in choosing one over the other.  But, if you don’t have a synchronizing application, or you are willing to handle that yourself, then SQLite is an excellent option.  If you are willing to go non-conventional for even more speed, then Perst looks to have some good advantages as well.

SQLite also is not issue free.  One problem I encountered from time to time was a “Database locked” error.  I usually got this when executing large numbers of transactions.  As luck would have it, I got a new Ado.Net Provider (065) and the problem went away.

I will also throw out some reasons for Ultalite while I’m at it.  UltaLite has an excellent sync engine to go with it, and also includes device management software.  A downside it that UltraLite is the one database you can not deploy for free.  (Hopefully, in the near future we will also have some tests for Sybase SQLAnywhere as well, it is a more powerful database than UltraLite, but is also non-free).

Some defense for SQLCE.  SQLCE actually has some very good integration with SQL Server, including some of the new column date/time types from SQL Server 2008, as well as a serviceable synchronization engine in Microsoft Sync Services.  Unfortunately, I can’t whole heartedly get behind it – even the Sync Framework for Devices is still in CTP.  The main reason to go with SQLCE is because the SQL used in SQLCE is closest to what is used in SQL Server (or you have a client that insists).  Either way, there is technically wrong with SQL CE.

As for Perst, it is just too knew for me yet.  I’ll have to do a post on how you interact with the api, for instance, as it is not an Ado.Net provider.  But the performance for most tests was very good.  I just have to play with the API a bit more.  Also, the most glowing thing I can say about Perst, the Perst team has been EXTREEMLY responsive to requests.

Tags: , ,

 
0

Summer of Flash Episode 4 – Mark Anders

Posted by Garth Braithwaite on Aug 4, 2009 in - Miscelleneous  | View Original Article
  Mark Anders, Senior Principal Scientist at Adobe, joins us to discuss upcoming versions of Flash Player for mobile devices, the Open Screen Project, Ashton Kutcher's appearance at Adobe's offices, and Adobe's magical rings of power.

Tags: , , , ,

 
0

Best Mobile Applications To Manage Your WordPress Blog

Posted by Saud Khan on Jul 21, 2009 in - Javascript  | View Original Article
 

Developments in the web and mobile industries have changed our lifestyle significantly. Both these revolutionary technologies started to converge with the introduction of smart phones. Today smart phones are everywhere; creating new opportunities for those equipped with right tools for their mobile devices.

If you own a WordPress publication or if you are a web developer providing WordPress solutions to your clients; W3Avenue has compiled a list of best mobile applications that will help you and your clients to manage WordPress publications from anywhere anytime.

iPhone & iPod Touch

  • WordPress For iPhone
    WordPress for iPhone app lets you write posts, upload photos, edit pages, and manage comments on your blog from your iPhone or iPod Touch. It supports for both WordPress.com and self-hosted WordPress (2.5.1 or higher).

BlackBerry

  • WordPress For BlackBerry
    WordPress for BlackBerry app works with most recent BlackBerry devices starting with the 8700, Curve, Pearl, Bold, and Storm. BlackBerry Device Software (OS) Version 4.2.1 is the minimum requirement. It works with WordPress.com and self-installed WordPress 2.5.1 or higher and WordPress MU 2.6 or higher. It allows you to write posts, edit pages, and manage comments on your blog.

Android

  • wpToGo
    Allows you to manage your WordPress blog from your Android device. Features: upload new post including title, content, tags and multiple categories with multiple WordPress accounts, upload a full size image and thumbnail, customizable thumbnail sizing, option to publish instantly or save as a draft.
  • PostBot
    PostBot  is an Android application that allows posting to WordPress publications, both WordPress.com and self-hosted.

Microsoft Windows Mobile

  • Writer for Windows Mobile
    This is mobile version of one the best desktop client for bloggers, Windows Live Writer. Currently in beta it supports Windows Mobile 6 and newer.
  • moBlog
    moBlog is a mobile blogging application for Windows Mobile 2003 and later. moBlog currently supports WordPress.com, Blogger and Live Spaces. moBlog is optimized to run on WM devices using minimum resources. It is an application that you can use in off-line mode, where you can do your writing and editing disconnected to the net. A connection is only required when you initially setup your blogging accounts and when you want to update your blog with the new content.

Nokia Phones (Symbian S60 Based)

  • Wordmobi
    Wordmobi is S60 client for WordPress written in Python for Nokia mobile phones. It allows you to manage your blog with common operations like posting, approve comment, post delete, and comments visualization.
  • Scribe
    Scribe allows you to create, edit, and publish entries on your WordPress-powered blog from anywhere, using just your mobile handset. Scribe is in early stage of development and not completely stable. it uses Python for S60, so you will need install Pythod for S60 before installing Scribe.
  • Wavelog
    Wavelog is a blogging client application developed for S60 mobile phones with following main features: Post text, image, audio or video to a blog directly from the mobile phone using any type of available network (mobile phone or Wi-Fi network); Save draft for later posting, add hyperlinks, tags and external tags to your posts; Select blog category when posting, edit previously published posts and configure multiple blog profiles for simple publishing to several blogs. Wavelog has been developed for and tested on Nokia N95 mobile phones. There are many other S60 R3 based mobile phones on which the same software applications may be installed and used.

Mobile Phones With J2ME Support

  • MoPress
    MoPress  is a blogging client application developed for mobile phones.It allows a mobile phone to post a content (text, image, audio, video) to a Blog, using any type of available network (mobile phone network or Wi-Fi network). MoPress has been tested with WordPress (v2.3.1 or higher) and uses XML-RPC protocol for communication with blog.

Other Options

  • WPhone – WordPress Admin Theme For Mobile
    WPhone allows you to use a custom admin interface while interacting with your WordPress install via your phone. It contains two versions of the mobile admin interface: an iPhone / iPod Touch specific interface with full JavaScript and animation support and a lightweight, simple version designed for all other phone types (no JavaScript or anything else required). The plugin’s XHTML compatibility even ensures that mobile browsers that do not support CSS will receive a plain and easy-to-use interface for managing their WordPress blogs.
  • WordPress.com Gadget
    Access your hosted WordPress.com blog admin from your mobile. It’s a very light and speedy version of the admin dashboard, and works well on smart phones like the iPhone, BlackBerry and Treo. On the mobile WordPress.com site you can post, manage comments, see stats, and basically do everything you normally would do.
  • Post to Your Blog Using Email
    WordPress can be configured to use e-mail to post to a blog. To post to WordPress by e-mail you must set up an e-mail account with POP3 access. Any mail received at this address will be posted. What this means is that you will need a POP3 email client for your mobile device.

We hope you found this post useful, please feel free to share your experience about any of the above applications or suggest any addition to the list in comments.

Tags: , , , , , , , ,

Copyright © 2010 Answer My Query All rights reserved. Maintained by Orange Brains .