Tag Archive | "Development"

DwellClick and Head First iPhone and iPad Development eBook winners


class="align-right" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2011/08/dwellebook.png" />And now, we’ll be announcing the 50 lucky MakeUseOf readers who have won themselves a free copy of DwellClick and also those who managed to get their hands on the fantastic Head First iPhone and iPad Development eBook from O’Reilly. Are you one of them? There’s only one way to find out!

DwellClick

  1. Daniel Ooi
  2. Krissi Bynum-Degen
  3. Jim
  4. Murray Atherton
  5. Nedal Abughula
  6. Khaled Alsudairy
  7. Ashley Fletcher
  8. Tasha Lechtenberg
  9. Scott Graves
  10. Cynthia Wetzel
  11. Ethan
  12. Erwin Meijboom
  13. Robyn Rainwater
  14. Ivonne Lestari
  15. Roger Ashcraft
  16. Chris Tromp
  17. Alan
  18. Michael English
  19. Helen Scott
  20. Priyank Vijaywargi
  21. Brandon
  22. Jimmy Georgakopoulos
  23. Julius Weeks
  24. Caseybutt
  25. Keith Burt

Head First iPhone and iPad Development eBook

  1. Aaron Myers
  2. Guilherme Souto
  3. Chad Muszynski
  4. Ajay Ranna
  5. Anura Wickramaratne
  6. Joshua
  7. Donn King
  8. Dom Chester
  9. Joseph R Hill
  10. Jason Reid
  11. Lawrance Courtney
  12. Megan
  13. Phillip
  14. Tom Lucassen
  15. Bruno Felipe Da Silva
  16. Goldi
  17. Mehmet Akif Acar
  18. Kishore
  19. Rahul Rawla
  20. Saurabh Jain
  21. Roger Caldwell
  22. Soumya
  23. Bill Clagett
  24. Bagus Frayoga Effendi
  25. Chris Cameron

Congratulations! For the winners of the DwellClick giveaway, your promo code has already been emailed to you. Please use the Mac App Store to redeem your free copy of DwellClick via the “redeem” link under the Quick Links section on the right. As for the Head First iPhone and iPad Development eBook winners, the instructions on how to redeem your copy of the ebook has already been sent to you.

Enjoy!

href="http://www.makeuseof.com/tag/dwellclick-ebook-winners/">DwellClick and Head First iPhone and iPad Development eBook winners is a post from: href="http://www.makeuseof.com">MakeUseOf



View full post on MakeUseOf

Posted in Useful APPsComments (0)

Head First iPhone and iPad Development eBook [Giveaway]


class="align-right" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2011/07/iphonedevelopmentebook.jpg?54167" />Think you that a great idea for an amazing iPhone and iPad app that no one else has thought of? Well, get to it and build the app!

This week, we’ll be giving away 25 copies of href="http://oreilly.com/catalog/9781449387822/">Head First iPhone and iPad Development eBook by Dan and Tracey Pilone from O’Reilly Media. Jump in for a quick description of the book and join the giveaway!

Quoting O’Reilly,

Let’s say you have a killer app idea for iPhone and iPad. Where do you begin? Head First iPhone and iPad Development will help you get your first application up and running in no time. You’ll not only learn how to design for Apple’s devices, you’ll also master the iPhone SDK tools — including Interface Builder, Xcode, and Objective-C programming principles — to make your app stand out.

Whether you’re a seasoned Mac developer who wants to jump into the App store, or someone with strong object-oriented programming skills but no Mac experience, this book is a complete learning experience for creating eye-catching, top-selling iPhone and iPad applications.

  • Install the iPhone OS SDK and get started using Interface Builder and XCode
  • Put Objective-C core concepts to work, including message passing, protocols, properties, and memory management
  • Take advantage of iPhone OS patterns such as datasources and delegates
  • Preview your applications in the Simulator
  • Build more complicated interactions that utilize multiple views, data entry/editing, and rotation
  • Work with the iPhone’s camera, GPS, and accelerometer
  • Optimize, test, and distribute your application
  • Win a free copy of this ebook and start developing iOS apps! We’ve got 25 copies to give away this week.

    How do I win a copy?

    It’s simple, just follow the instructions.

    Step 1: Fill in the giveaway form

    Please fill in the form with your real name and email address so that we can get in touch if you are chosen as a winner. href="https://muo.wufoo.com/forms/z7w1a5/" onclick="window.open(this.href, null, 'height=443, width=680, toolbar=0, location=0, status=1, scrollbars=1, resizable=1'); return false" title="Head First iPhone and iPad Development eBook">Click here if you can’t view the form.

    The giveaway code required to activate the form is available in the sidebar on href="http://facebook.com/makeuseof">our Facebook page.

    Step 2: Share!

    You’re almost done. Now, all that’s left to do is to share the post. There are 2 options to choose from or you can do both!

    border="0" cellspacing="20">
    width="240" align="middle" valign="top">

    Like it on Facebook align="center"> src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.makeuseof.com%2Ftag%2Fhead-iphone-ipad-development-ebook-giveaway%2F&layout=box_count&show_faces=true&width=60&action=like&colorscheme=light&height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:60px; height:65px;" allowTransparency="true">

    width="240" align="middle" valign="top">

    Or share it on Twitter

    align="center"> href="http://twitter.com/share" class="twitter-share-button" data-text="I've just joined @makeuseof's giveaway to win a FREE copy of Head First iPhone and iPad Development eBook from O'Reilly!" data-count="vertical">Tweet

    This giveaway begins now and ends Friday, August 5th at 2100hrs PDT. The winners will be selected at random and informed via email.

    Spread the word to your friends and have fun!

    MakeUseOf would like to thank href="http://oreilly.com/">O’Reilly Media for their generosity while participating in this giveaway. Interesting in sponsoring? We’d love to hear from you. Get in touch with us via href="mailto:jackson@makeuseof.com?subject=Giveaways">email.

    href="http://www.makeuseof.com/tag/head-iphone-ipad-development-ebook-giveaway/">Head First iPhone and iPad Development eBook [Giveaway] is a post from: href="http://www.makeuseof.com">MakeUseOf

    More articles about: href="http://www.makeuseof.com/tags/ebook/" title="ebook" rel="tag">ebook, href="http://www.makeuseof.com/tags/giveaway/" title="giveaway" rel="tag">giveaway, href="http://www.makeuseof.com/tags/ipad/" title="ipad" rel="tag">ipad, href="http://www.makeuseof.com/tags/iphone/" title="iphone" rel="tag">iphone />

    Similar articles:

    class="st-related-posts">
  • href="http://www.makeuseof.com/tag/apple-mobile-device-find-makeuseof-poll/" title="Which Apple Mobile Device Do You Find Most Useful? [MakeUseOf Poll] (December 19, 2010)">Which Apple Mobile Device Do You Find Most Useful? [MakeUseOf Poll] (11 comments …)
  • href="http://www.makeuseof.com/tag/trover-share-explore-local-discoveries-picture-ios/" title="Trover – Share & Explore Local Discoveries With Just A Picture [iOS] (June 13, 2011)">Trover – Share & Explore Local Discoveries With Just A Picture [iOS] (0 comments …)
  • href="http://www.makeuseof.com/tag/top-10-youtube-songs-created-ipads-iphones/" title="Top 10 YouTube Songs Created Using iPads and iPhones (January 9, 2011)">Top 10 YouTube Songs Created Using iPads and iPhones (2 comments …)
  • href="http://www.makeuseof.com/tag/top-10-free-shopping-applications-ios-devices-mac/" title="The Top 10 Free Shopping Applications For iOS Devices (December 7, 2010)">The Top 10 Free Shopping Applications For iOS Devices (9 comments …)
  • href="http://www.makeuseof.com/tag/the-best-iphone-tower-defense-games-2009-giveaway/" title="The Best iPhone Tower Defense Games 2009 + Giveaway (December 18, 2009)">The Best iPhone Tower Defense Games 2009 + Giveaway (36 comments …)


  • View full post on MakeUseOf

    Posted in Useful APPsComments (0)

    Application Software Development


    Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. This should be contrasted with system software which is involved in integrating a computer’s various capabilities, but typically does not directly apply them in the performance of tasks that benefit the user. In this context the term application refers to both the application software and its implementation.

    There are many subtypes of application software:
    • Enterprise software addresses the needs of organization processes and data flow, often in a large distributed ecosystem. (Examples include Financial, Customer Relationship Management, and Supply Chain Management). Note that Departmental Software is a sub-type of Enterprise Software with a focus on smaller organizations or groups within a large organization. (Examples include Travel Expense Management, and IT Helpdesk)
    • Enterprise infrastructure software provides common capabilities needed to create Enterprise Software systems. (Examples include Databases, Email servers, and Network and Security Management)
    • Information worker software addresses the needs of individuals to create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks.
    • Content access software is software used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include Media Players, Web Browsers, Help browsers, and Games)
    • Educational software is related to Media and Entertainment Software, but has distinct requirements for delivering evaluations (tests) and tracking progress through material. It is also related to collaboration software in that many Educational Software systems include collaborative capabilities.
    • Simulation software are computer software for simulation of physical or abstract systems for either research, training or entertainment purposes.
    • Media development software addresses the needs of individuals who generate print and electronic media for others to consume, most often in a commercial or educational setting. This includes Graphic Art software, Desktop Publishing software, Multimedia Development software, HTML editors, Digital Animation editors, Digital Audio and Video composition, and many others.
    • Product engineering software is used in developing hardware and software products. This includes computer aided design (CAD), computer aided engineering (CAE), computer language editing and compiling tools, Integrated Development Environments, and Application Programmer Interfaces.
    Sehelsoft professional team offers Cost effective Software Programming with Visual basic programming through Access and SQL database, ASP.Net Programming, C# Programming, PHP Programming and desktop Software Solutions.

    www.SehelSoft.com

    Posted in UtilitiesComments (0)

    Really Painless Web Development Using Microsoft WebMatrix


    style="border: 0px none;margin-left:20px;float:right;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/webmatrixlogo.jpg" alt="web development"/> href="http://makeuseof.com/tags/microsoft">Microsoft has a history of releasing some great free tools for Windows users now and then. Recently they have unveiled WebMatrix, an all-in-one href="http://makeuseof.com/tags/web-development">web development suite to cater to the development community. WebMatrix is not just a typical IDE or development framework but has a bouquet of tools –  a web server, a SQL database, and a database-ready framework.

    href="http://www.microsoft.com/web/webmatrix/">WebMatrix is free to download and is available for all Windows users. The new app is ideal for developers building web apps that require local data storage. But if you have the habit of building your own websites or pursuing web design as a hobby, WebMatrix is handy tool to build simple websites, either from scratch or by modifying popular open source software.

    id="more-52241">

    Installation & Set Up

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/Installer.png" alt="web development"/>

    The installer launches to a screen that lists a lot of Microsoft that you might need. Please note that these packages are not necessary for installing and running WebMatrix. You can straightaway select the WebMatrix tab to proceed with the installation. I chose not to include Visual Web Developer 2010 and SQL Server Express 2010 and continued with the installation.

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/WebMatrix-Installer.png" alt="web site development" />

    Since the initial download is very light, all the required packages are downloaded from Microsoft’s servers before the installation can begin. It a took a while for the installation to get over and you will have to restart the PC mid-way after the SQL Server installation (the installation will continue automatically after the restart). At the end of the installation, we will have the latest version of IIS, including latest IIS Web extensions like IIS Media Services as the webserver, SQL Server 2008 Express as the database and the .NET Framework to develop websites using ASP.NET.

    Dashboard

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/Home.jpg" alt="web site development"/>

    Once the installation is complete, we get to see the see the dashboard which offers four design options and I chose the Site from Web gallery. This option allows us to edit and develop web sites derived from 28 of the popular open source platforms.

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/Gallery.png" alt="web site development"/>

    I chose href="http://makeuseof.com/tags/wordpress">WordPress and since it does not support SQL Server, WebMatrix offered to install one locally or to use a remotely hosted one. WebMatrix actually downloads all the corresponding requirements of the open source package and in this case that included PHP 5 too!

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/EULA.png" alt="web design and development" />

    Workspaces

    Microsoft emphasizes that WebMatrix’s power lies in its four Workspaces. Each one of these workspaces allow us to develop the website, deploy files, perform routine administrator tasks, optimize content for SEO and to pull analytics reports.

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/Editor.png" alt="web design and development"/>

    Using the Site Workspace, we can monitor the website’s real-time web requests and configure server settings as well.

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/Site-Worspace.jpg" alt="web development"/>

    Code editing is part of the file workspace and we can see real time previews of the changes made to the site. If you start designing a static website and later decide to add a database to it to enhance the functionality all you have to do is click on the Database workspace.

    style="text-align: center;"> class="aligncenter" style="border: 0pt none;" src="http://main.makeuseoflimited.netdna-cdn.com/wp-content/uploads/2010/08/Editing-Code.jpg" alt="web development"/>

    WebMatrix supports file transfer protocols like WebDeploy, FTP and FTPS enabling us to get the entire setup including all files, database and code to the server easily.

    Final Thoughts

    WebMatrix is an awesome app that does a lot of heavy lifting for those who are not web development ninjas. Even though installation of packages takes time, I was impressed with the accuracy with which WebMatrix installed all the dependencies even for rival open source platforms. The simple and clutter-free user interface is worth a mention too and it helps the focus to be on the design & code with its minimal design.

    For those who are not exactly fans of Microsoft, we have earlier covered href="http://makeuseof.com/tag/kompozer-free-web-design-software-whip-web-pages/">Kompozer, a free href="http://makeuseof.com/dir/tag/webdesign/">web design software and the uber famous href="http://makeuseof.com/tag/amateurs-guide-to-customizing-website-design-with-firebug/">Firebug plugin for Firefox.

    Have you tried WebMatrix already? Or using a better IDE? Share your thoughts in the comments section. />
    /> Got Questions? Ask Them Now FREE on href="http://www.makeuseof.com/answers/">MakeUseOf Answers!

    />

     

    href="http://api.tweetmeme.com/share?url=http://www.makeuseof.com/tag/painless-web-development-microsoft-webmatrix/"> src="http://api.tweetmeme.com/imagebutton.gif?url=http://www.makeuseof.com/tag/painless-web-development-microsoft-webmatrix/"> href="http://digg.com/tools/diggthis/login?url=http://www.makeuseof.com/tag/painless-web-development-microsoft-webmatrix/"> src="http://www.makeuseof.com/images/rss-buttons/diggme.png"> href="http://www.facebook.com/sharer.php?u=http://www.makeuseof.com/tag/painless-web-development-microsoft-webmatrix/"> src="http://www.makeuseof.com/images/rss-buttons/fb.jpg"> href="http://www.google.com/reader/link?url=http://www.makeuseof.com/tag/painless-web-development-microsoft-webmatrix/&title=Really Painless Web Development Using Microsoft WebMatrix&srcTitle=MakeUseOf.com"> src="http://www.makeuseof.com/images/rss-buttons/gbuzz-feed.png"> href="http://www.stumbleupon.com/submit?url=http://www.makeuseof.com/tag/painless-web-development-microsoft-webmatrix/"> src="http://www.makeuseof.com/images/rss-buttons/stumble.png">

     


    Similar MakeUseOf Articles

    class="st-related-posts">

  • href="http://www.makeuseof.com/tag/the-best-freeware-to-do-an-easy-wordpress-auto-install-n/" title="The Best Freeware To Do An Easy WordPress Auto Install">The Best Freeware To Do An Easy WordPress Auto Install (22 comments)
  • href="http://www.makeuseof.com/tag/kompozer-free-web-design-software-whip-web-pages/" title="Kompozer – Free Web Design Software To Whip Together Webpages">Kompozer – Free Web Design Software To Whip Together Webpages (13 comments)
  • href="http://www.makeuseof.com/tag/iweb-a-free-mac-web-design-tool-for-easy-beautiful-websites/" title="iWeb – Build A Quick, Easy & Beautiful Website [Mac only]">iWeb – Build A Quick, Easy & Beautiful Website [Mac only] (35 comments)
  • href="http://www.makeuseof.com/tag/functionality-cms-website/" title="How To Have The Functionality Of A CMS On Any Old Website">How To Have The Functionality Of A CMS On Any Old Website (15 comments)
  • href="http://www.makeuseof.com/tag/3-tools-create-mockup-designs-wireframes-online/" title="3 Tools to Create Mock-up Designs and Wireframes Online">3 Tools to Create Mock-up Designs and Wireframes Online (6 comments)
  • href="http://www.makeuseof.com/tag/2-websites-with-the-coolest-free-webpage-templates/" title="2 Websites With The Coolest Free Web Page Templates">2 Websites With The Coolest Free Web Page Templates (15 comments)
  • href="http://www.makeuseof.com/tag/search-engine-optimization-mistakes-that-will-destroy-your-website/" title="10 Common SEO Mistakes that can Destroy Your Website [Part I]">10 Common SEO Mistakes that can Destroy Your Website [Part I] (74 comments)
  • href="http://www.makeuseof.com/tag/web-metrics-101-what-do-all-these-terms-mean/" title="Web Metrics 101 – What DO all these Terms Mean?">Web Metrics 101 – What DO all these Terms Mean? (18 comments)
  • href="http://www.makeuseof.com/tag/transfer-files-by-ftp-with-filezilla/" title="Transfer files by FTP with FileZilla">Transfer files by FTP with FileZilla (20 comments)
  • href="http://www.makeuseof.com/tag/organize-track-google-adsense-accounts-syssense/" title="Track Your Google Adsense Accounts From Your Desktop With SysSense [Windows]">Track Your Google Adsense Accounts From Your Desktop With SysSense [Windows] (2 comments)


  • View full post on MakeUseOf.com

    Posted in Useful APPsComments (3)

    Software Application Development


    SOFTWARE APPLICATION DEVELOPMENT

    I n t r o d u c t i o n …
    Edge over your rivals

    Well – we are into ere where technology rules us. People are looking for different process to optimize their business need. With the expansion of globalization, outsourcing has turned out to be very accepted and these days many firms big or small are looking for the software application development provider. There are lots of companies who work on application development, but there are only few companies which build software that may build companies. As you know that software applications are the doorway to your organization; so why not to build from the best creator? Some times your own specific requirements can give you the edge over your rivals.

    WHAT IS SOFTWARE APPLICATION DEVELOPMENT…?
    The proof of the pudding is in the eating

    Application software refers to software that is developed for common computer users.In the language of computer science; an application is always a computer program intended to help people execute a certain type of work in the span of less time. An application thus differs from an operating system, a utility and a programming language. Depending on the work for which it is designed, an application can manipulate text, numbers, graphics, or a combination of these elements. Some application packages offer sizeable computing power by focusing on a single task.These are most commonly known software such as internet browsers, word processor, and spreadsheet. According to software developers there are two categories of software – application software and system software. System software is software that generally computer users don’t perceive. These are the software that runs in background – such as operating system. Application development, also referred to as software procedure, software lifecycle and software development, is the development of a software product in a planned and prearranged process.

    The creative person who works as an application development should always think “out side the box”.  It has always been seen that diverse organizations have diverse application demands. While creating the software we should always keep the origination and the business in mind. There are teams of skilled people who are equipped with sound technical skills. During the development of software application process there are following task which are done.

    1.    Gather the software requirements
    2.    Create High level design
    3.    Basic layout of the product is created
    4.    Create Module design
    5.    Coding
    6.    Execute Module test
    After going through all these process the application development gets completed, and finally ready for the delivery to the client.

    I m p o r t a n c e:   of software application:

    As the world is getting global, we look forward for our business to be seen globally. That is why it is very important to use software in your business. This makes your work easier, faster and secure. It gives you a complete solution to your business. In this era- inventions doesn’t come by accident. They came by work.” So put your best foot forward and you’re on demand software solution to up grade your business. In nut cell Paddle your own canoe: Act independently, wisely and decide your own fate.

    Posted in UtilitiesComments (3)

    Top 3 Mozilla Firefox Extensions for Web Development


    When it comes to browsers, Mozilla Firefox has become more than a big help in terms of assisting on analysis, particularly in web development.

    Mozilla Firefox, or more conveniently known as simply “FF”, is a web browser which relies on the extension system and allow users to modify the settings according to their requirements or needs.

    Some add-ons are simply made for use of ordinary users such as Forcastfox for monitoring the weather;  MySpace toolbar for easy MySpace access; and the Adblock Plus to block any unnecessary and annoying advertisements. These add-ons are made so as to make things a lot easier for their users.

    Apart from those extensions, there are also others that are very beneficial when it comes to internet marketing, and especially for web development.

    There are some which are made to provide help in the analysis of web pages, others to provide information like codes and syntax used.

    There are only a handful of these firefox add-ons and extensions that have proven its usefulness in web development. Let me give you my top three choices.

    #1: Firebug

    This pugin is one of the many that really caught my attention. This is because of what it said on their site, “You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page”, and it pretty much does what it says, “edit, debug, and even delete” codes or script “Live” in a website.

    The cool thing about this tool is that it lets its user play with the HTML, CSS, or JavaScript codes present in a website. Either change the headers, change the color of the font or background color, or just play and experiment with it. But after sometime, I noticed that there are a lot more uses for this kind of tool other than those designed for web developers. One of which is learning about the site — of what HTML, CSS, JavaScript the webmaster used to develop it.

    Here are some the features that Firebug offers to fine-tune skills in developing a successful website.

    Built For the Web Developer’s Preferences – Web developers can open Firebug in a separate window or as a bar at the bottom of the browser. Firebug also gives web developers fine-grained control over which websites they want to enable it for.

    Inspects and Edits HTML – Firebug makes it simple to find HTML elements buried deep in the page. Once the web developers found what they’re looking for, Firebug gives them a wealth of information, and lets them edit the HTML live.

    CSS Editing – Firebug’s CSS tabs tells everything about the styles in the web pages. If the web developers didn’t like how it appears, they can easily make changes and see them take effect instantly.

    CSS Metrics – There comes instances when the CSS boxes aren’t lining up correctly and web developers may not know why it gets broken. Firebug can provide measurements and illustrations on all the offsets, margins, borders, padding, and sizes.

    Monitors Network Activity – To monitor the status of a webpage, especially on how fast it loads, Firebug provides information needed to learn on how to keep the websites on the top shape..

    Debugs JavaScript – Firebug includes a powerful JavaScript debugger that lets web developers pause execution at any time. If their code is a little sluggish, simply use the JavaScript profiler to measure performance and find bottlenecks fast.

    Finds Errors – Firebug lets web developers know immediately if there are something wrong on their sites and gives detailed and useful information about errors in JavaScript, CSS, and XML.

    Explores DOM – Firebug helps find DOM objects quickly and then edit them on the fly.

    Executes JavaScript – Firebug gives a command line for JavaScript complete with very modern amenities.

    Logs for JavaScript – Firebug shows a set of powerful logging functions to provide answers fast.

    The Firebug can easily be opened by clicking on the tools menu or on the icon seated on the lower-right most corner of the browser. Visit an online Web design Philippines site to learn more about how these tools can help web developers in the development of the websites.

    #2 Web Developer

    Web Developer is somewhat like Firebug. It also gives information about the styles and the codes used on a page. Web Developer can also offer a way for developers to make experimentssuch as editing CSS, disabling it, viewing the CSS codes, and many more.

    Web Developer adds a menu and toolbar to the browser with various tools. It is designed for Firefox, Flock and Seamonkey, and will run on any support platforms including Windows, Mac OS X and Linux.

    The only difference between the two is its interface. Firebug specializes in providing a freedom to change, inspect, and monitor  pages whereas Web Developer provides an easy way to navigate between tools and functions by use of a tool bar.

    The tools and functions seen on the Web Developer are as follows:

    Disable tool – provides options to disable cache, Java, JavaScript, Meta Redirects, Pop-up Blocker and many more.

    Cookies tool – disables cookies, clears session cookies, deletes domain cookies, deletes path cookies, adds a cookie, and more.

    CSS tool – views and edits CSS, disables styles, views style information, and more.

    Forms tool – displays form details, enables or disables form fields, views form information and many more.

    Images tool – disables images, displays alt attributes (for SEO purposes), displays image sizes and dimensions, locates broken images, and more.

    Information tool – provides different kinds of information about the page such as abbreviations, table depth (if there is any), title attributes, document outline, JavaScript and many more.

    Miscellaneous – clears private data (which is also present in Firefox), edits HTML, shows hidden elements, and many more.

    Outlining tool – outlines Frames, Headings, Links, Tables (if there is any), and more.

    Resizing tool – displays the window size, and resizes windows.

    And tools that validate CSS, feed, HTML, links, by use of W3C (World Wide Web Consortium).

    Aside from these, there are also others that proved to be useful in viewing source codes and detecting CSS errors

    Check out how a website is developed by visiting an online Web design Philippines site.

    #3 ColorZilla

    Another tool for web developers is the simple yet helpful ColorZilla. This particular extension is among the simplest I’ve encountered, but it did prove its usefulness especially in figuring out the color to be applied on the website.

    ColorZilla is quite easy to use. All one has to do is click on the eyedropper icon, then select the color they would want to copy. The attributes of that color can be seen beside the eyedropper icon.

    As stated on their website, ColorZilla can provide a color reading from any point of the browser, quickly adjust this color and paste it into another program. Web developers can also zoom in and out of the page and measure distances between any two points on the page. The built-in palette browser can allow the users to choose colors from pre-defined sets and save the most used in custom palettes. DOM spying features can give various information about DOM elements quickly and easily.

    Visit a Web design Philippines site to learn more about how to maximize the website’s potential market success.

    Posted in UtilitiesComments (0)

    Software Development Companies in Australia: Dominating the Business Arena


    Software Development not only includes software engineering, but also incorporates internet marketing services, marketing research, crisis management, human resources and budgeting.

    A Software Development company is well versed with the process of software engineering and marketing. There are some procedural steps pursued by software development companies in their approach to develop software applications. The process involves:

    • A thorough research for gathering information related to the proposed business solution

    • Problem analysis

    • Designing and implementation of the software

    • Software testing

    • Maintenance and bug fixing

    Of the above step-by-step procedures, the software design and development stage is the most significant part, as it requires interaction between the software development company and its client.

    Software developers must have a clear idea of the needs and requirements of the client. The best software engineers in the industry review the latest trends and then consult with their clients for developing the best in the market. With the expertise of analysts, project managers, lead programmers and software developers, software development companies offer cost-effective software solutions to their clients.

    Australia is the Mecca of a majority of IT companies that specialize in web development and software development projects. About 51% of the software development products from Australia are exported to countries like Asia, USA and Europe.

    Software companies in Australia have excelled only because of expert developers and analysts who provide quality application development services. Software development in Sydney, Adelaide and Perth has spread their wings in the areas of hotel, banking, tourism, insurance and many others. These companies are equipped with the latest code generation applications and templates which reduce costs and improve quality.

    Software companies in Australia also have the expertise in developing customized software. Custom software development process is the procedure of creating software as per the specific needs and requirements of the business. But designing specific software to meet the exact business requirement is not an easy task. It is a challenge which most software companies in Australia readily accept. These companies have their own research team to analyze and study the business and develop software around it. They have the expertise of combining the right programming language and the correct software development model for a successful software development project.

    A number of multinationals including IBM, HP, and Satyam have exploited the Australian software industry. There are also many Australian Software development firms engaged in partnerships with global software giants. This has certainly boosted the IT industry in Australia.

    Posted in UtilitiesComments (0)

    You Can Use Right Software Development Services Provider!


    Selecting a right software development company is really a tough job. The manager needs to check various aspects before finalizing the software development service provider to handover the project to them.

    Prior to approach a software company to develop software, you need to work on some basic things like Identifying exact requirement, analyzing the requirement as per end user point of view, Design a basic architecture or workflow. To After doing the basic analysis, you could approach some reputed software development companies with your specific requirements.

    What things you should check with every software solutions provider?

    You could choose a right software development company by analyzing the following factors.

    a. Technology Expertise: Technology is the most changing factor in software industry. So selecting the suitable technology for the software application is also important. Therefore check out that in which technologies the company has expertise.

    b. Timely Delivery: Timing is very important in software industry because you must launch your software product or service before your competitors. It will help you to achieve the big share in the market. So make sure that your software product / application will complete within the estimated time frame.

    c. Quality of Service:
    Error-free software creates the good image in the market. So test your software from user point of view to check the quality of software before putting it into market.

    d. Support: Post software development support is the integral part of smooth functioning of the software application. Ensure that the company provides the proper software support system.

    e. Past Experience: You should ask the software development work they have done before for other clients. Then you would be able to find out the strengths and  weaknesses of particular Software Development Company and whether the company is able to fulfill your Software requirements or not.

    Where should I get quality software development services?
    There are many software development companies in market, but as per my information Tandoninfo is one of the best Software Services Provider Company based in India having branches in USA too.

    Many of them provide complete custom software development solutions, project management as well as application development, Quality testing and Quality assurance services to various kind of business areas. TISPL also offer web-marketing services such as Search Engine Optimization, Pay Per Click Management, Link Building, etc. It will help you to get top keyword ranking and maximum traffic through major search engines like Google, Yahoo, MSN, etc.

    TISPL have professional expertise in all latest Software areas like C, C++, Java, VB, VB.NET, ASP, ASP.NET, SAP, RDBMS, Linux and many more. The consultants in TIS are skilled in multiple platforms, languages and applications and receive continual cross training in world-class development facilities to ensure that TISPL stays at the leading edge of technology.

    SAP Business One Software Solutions:
    If you are looking for integrated software services to manage your business functions efficiently then you can find Tandoninfo, which offers advanced SAP Business One Software Services at affordable cost. They are expert in SAP Business One Customization, Implementation, Integration and Support as well.

    Posted in UtilitiesComments (1)

    9 Steps to a Hassle Free and Effective Software Development Project


    By ExecutiveBrief Staff

    Has your company developed entirely new software or added to software already in use throughout the organization and found the process cumbersome, frustrating, and sometimes not living up to expectations or meeting organizational goals?  If so, the solution to a smooth and effective development program may be as easy as staffing a well-qualified project manager and adopting a proven development process.

    For any software development or other project initiative your company may be considering, it is critical to have in place and practice a set of effective and proven guidelines to ensure project success and delivery of the expected results:  taking into consideration the role and responsibilities of a well-qualified project manager, knowledge of important business and financial aspects, and a step-by-step process that all contribute to the solid foundation and implementation of an effective project plan.

    Developing a Practical Approach: The Role of the Project Manager

    When undertaking a software development project, the first element to consider is the establishment of a comprehensive yet practical approach to the initiative that ultimately will lead to a successful end result.

    The in-house project manager has a key role in ensuring each phase of the project is carried out as planned.  The project manager is responsible for considering the potential risks involved with the project and how to avoid and resolve them, establishing and maintaining momentum throughout the project, ensuring individual project team member tasks are assigned appropriately and carried out according to specifications, and successfully addressing and resolving any conflicts that may arise during the length of the development project.

    A well-qualified project manager is able to address what may seem to be an overwhelmingly complex process by developing an organized approach where the process is broken down into manageable individual tasks and understanding how to keep those involved in the project dedicated to the ultimate goal of meeting and even exceeding the expected end result.

    If the project manager dedicates the necessary time, effort, and resources to the preparation of an efficient, comprehensive, and practical approach, then the project team may progress with ease and confidence as they deliver on their individual tasks, having a solid foundation and strategic framework at the outset. Far too often, however, failures with such projects are the result of not only a poorly executed plan, but one that ultimately lacked the fundamental elements of a well-though-out approach rooted in adequate preparation and commitment from the project manager and project team.

    Designing a strategic plan means taking into consideration all aspects that can contribute to success or potential failure.

    Embarking on the Initiative: Key Steps to Consider

    With a comprehensive approach and a competent project manager in place to guide the new software development initiative, there is another important element your organization may find helpful as you embark on the project: establishing specific steps that can be followed to project completion that are based on proven industry experience in such a project environment.

    Following are a set of practical guidelines to approach a software development project, established by two university professors and business consultants with specialized expertise in the computing, engineering, and general business environments.

    Dr. Gordon Scott Gehrs is an adjunct instructor at the Illinois Institute of Technology (IIT) and a business consultant for the Jules F. Knapp Entrepreneurship Center at IIT. Dr. Dorota Huizinga is associate dean of the College of Engineering and Computer Science and a professor in the Computer Science Department at California State University, Fullerton, as well as a frequent business seminar speaker, a business consultant, and co-author of Automated Defect Prevention: Best Practices in Software Management.

    Read on for nine key steps to consider as you embark on a software development project.

    Step #1: Conduct Feasibility Analysis
    According to Dr. Gehrs, a critical first step is to interview stakeholders in order to uncover whether a specific need exists, identify this exact need, and determine whether the proposed project can feasibly deliver the expected software development. “Many times, this is the point at which an ROI study will be carried out in order to determine project costs and benefits,” says Dr. Gehrs.

    Step #2: Analyze and Determine Requirements
    When it comes to the next step of determining requirements, Dr. Gehrs believes a proper analysis should consist of interviews with end users and others who will be associated with the new software system. In addition, a thorough review and a keen understanding of user documents, business rules, and processes are keys to determining appropriate and necessary features and functionality. This is a valuable and significant step in the development process and the point at which such deliverables as those documents outlining the scope of the project and those detailing the software product requirement will be produced.

    Dr. Huizinga notes the importance of having the minimum technology infrastructure in place before beginning a software project, which include:

    • Desktops for development with an advanced integrated development environment suite.
    • A server with a configuration management system for document tracking and version control.
    • A staging server for integration testing and a production server for deployment of the final product.
    • A requirement/task/defect tracking tool.
    • An automated build system.
    • A regression testing tool.
    • An automated reporting system.

    “Investing in the proper infrastructure is essential and will pay back quickly,” asserts Dr. Huizinga. There are three key elements the proper infrastructure provides:

    • Product and project visibility
    • Automation of repetitive and mundane tasks
    • Facilitation of collaboration

    Step #3: Consider Industry Best Practices
    When defining a software development process, consider proven industry best practices. Dr. Huizinga recommends a good, customized Agile process with emphasis on pictorial documentation both for requirements and technical documentation. It is important to follow a standard template and all activities should be traceable through a requirements/task/defect tool and shared document repository.

    Step #4: Design
    During the design phase, the software architect, programmer, and/or developer may put together a detailed design document outlining exactly how the software will meet the specified requirements. Dr. Gehrs recommends the use of mock-ups to accompany the design document as a way of illustrating user-interface elements.

    In some cases, customization is required in order to meet specific, individual project needs. For example, Dr. Huizinga notes that this might include the use of specialized COTS (commercial off-the-shelf) hardware and software components. The wide spectrum of products from databases to game engines is dictated by the market shift to customization of existing commercial applications to fit project needs rather than in-house development of such systems. According to Dr. Huizinga, COTS can offer higher quality because they are developed by vendors who specialize in systems that provide the required functionality and are well-tested by many users.

    Step #5: Measuring and Tracking Progress
    Without the proper technology infrastructure in place, it is difficult to collect and measure key project data. “Consequently, the software projects cannot be managed effectively,” says Dr. Huizinga. Project indicators can help to ensure the prompt identification of potential or existing problems, therefore allowing them to be recognized and remedied in a timely manner. When observed over an extended period, notes Dr. Huizinga, these indicators can be used to determine product quality and deployment readiness.

    Step #6: Development
    At the development phase, the design document is translated into a real piece of software. When prior careful planning has been executed, the software will match the requirements of the business driver that initiated the need for the project. Dr. Gehrs points out that development cycles may produce several versions of the software:

    • Alpha: preliminary feature/functionality only
    • Beta: used for internal testing or usability testing
    • Release Candidates: usually a very stable build that may need minor tweaks
    • Production Build or Gold Master: ready for release.

    Project managers need feedback on the user’s navigational experience, task-completion times, ease of use, and other information related to the user interface and user-centric elements.

    Step #7: Addressing Automation
    Another key step is to ensure the automation of repetitive tasks:

    • Code builds;
    • Static code analysis scans;
    • Regression tests;
    • Collection of project- and product-related measures.

    Dr. Huizinga believes that taking such measures reduces the error-prone human influence when the software is implemented. It also facilitates the use of best practices and collection of project-related data. “All repetitive and mundane tasks should be automated whenever possible in any portion of the software life cycle,” she adds.

    Step #8: Testing
    As the project continues on through each phase and on to testing, a general progression of action is as follows: software features are laid out in some sort of list, scripts are written for each task the user might perform, and those features are tested to ensure they function properly. Dr. Gehrs points out that testing also may vary quite widely depending on the individual testing procedures adopted by the organization. Testing can consist of several sub-stages as well, such as quality assurance and staging.

    Once the software is in general use, any bugs found at this point are addressed based on a criticality scale: urgent fixes are scheduled to be carried out as soon as possible. In addition, feature enhancements/changes may be slated for future upgrade versions.

    Step #9:  Gradual Implementation Practices
    “Incremental implementation of the above practices is critical to success. The approach of gradually introducing change group by group and practice by practice is essential to achieving the desired organizational culture change, as change is unsettling, and there will always be some degree of resistance,” points out Dr. Huizinga. Because of the complex nature of software projects and the technology involved, new software development warrants this systematic approach.

    Understanding the role of the project leader and importance of having well-thought-out development processes in place may be a company’s only real competitive advantage in an increasingly competitive marketplace.  It is the ultimate secret weapon to winning business and successfully delivering new easy-to-use software.

    With workable and disciplined software project guidelines and well-qualified project managers, your organization can’t lose. 

    Posted in UtilitiesComments (0)

    Rising Business of Software Development at Global Level


    In the business world software development for the offshore outsourcing has become very common and nobody can deny its usefulness. The business of developing software for the offshore outsourcing companies has taken rise for the last few years all over the world.

    Software companies are developing software for feeding the rising demands of companies which are using software for their internal & external operations. As software solutions are available for the operations on web as well as internal operations of any company in form of web applications, desktop applications, etc. Active participation of numerous industries such as retail business industry, financial, health, real estate & many more and millions of the small & large companies related to these industries are using software solutions. Almost every company from each industry uses software solutions like software, websites, applications and other related products which are used for the development of business on the web.

    Offshore software development is proving its presence as one of the successful business on the platform of domestic & international business. Rapid growth in usage of the software solutions at company level as well as individual level is the result of increasing demands of the customers. Various business models, business process, business strategies cannot be used appropriately without software solutions, almost every business model can be fully utilized with the help suitable software. Most of the business operations in the modern business world are operated through software solutions and web exposure to these operations.

    Software developing companies all over the world are following various innovative strategies to raise the profit levels as well as to satisfy their offshore outsourcing clients. They are providing software development work on project basis as well as models of hiring individual dedicated software developers. Maximum software development companies are based in the developing nations which are providing quality software solutions to offshore outsourcing companies from developed nations. Software developing companies are using large variety of IT technologies for the software development to fulfill the customized demands of their offshore clients. Increasing need of web exposure to products & services have developed the big web market which requires a variety of software solutions.

    Social & business interaction between masses world-wide through web has rapidly created the demand of software development. This boom in the software development market has made the software development business more significant on the platform of world business.

    Posted in UtilitiesComments (0)

    Web Designing and Web Development


    Web designing is something, which includes conceptualization, perfect decision, and execution of computerized media delivery by the application of Internet. The designing language is demonstrated in a particular way through the Web browser and it is made noticeable by using Graphical Interfaces.

    The idea behind web designing is to accumulate computerized files that resides on a web server, and portray it as a portal, which is commonly termed as a website. Web Page is basically a text file that contains description of the web content in a special programming language called ‘Hyper Text Markup language’ or more popular as HTML. You may enhance your web page contents using excellent picture quality and graphics on your web pages. The Clip Arts collection also provides such images on the Front Page. Shared borders allow you to add text and graphics. Navigation controls from one web page to another web page in your site, facilitates the browsers for quicker access. The latest trend nowadays is to use complicated programming such as JavaScript, Flash multi-media, Dreamweaver, etc.

    Browsers need to comply with World Wide Web standards and this progress has led to the universal application and usage of the language XHTML/XML. We can classify the web pages into two pages. The initial ones are the static pages, wherein you do not modify the content and layout at every request. The second ones are the dynamic ones, wherein the matter, and its overall look is modified keeping in mind the end user’s input and the modifications in the computing atmosphere such as user, time, database, etc. The content of Dynamic pages are generally collected on scripting languages such as JSP, ASP, cold fusion, etc and normally altered on the server’s side.

    You will like to give a consistent look to your web pages in terms of colors, fonts, layout, buttons, and margins and so on. In other words you will like to follow a theme for your web design. Front Page includes a number of themes to help you make your website more attractive. Themes can be applied to an entire website or to individual web pages.

    You know it is very easy to make your own website. For this purpose, you have to download free website design software. Businessmen can get easy access to their online customers by creating their own website. People can easily locate you through search engines namely Yahoo, Lycos, Msn, Google to name a few.

    Development of technology in the field of information differentiates web design from web development. Web designing goes through the process of competent conceptualization and powerful imagination. You should possess excellent communication skills to design your own website. A website gives information about your products and the services you would like to offer. It actually represents the Company in a big way. Web designing would enhance the sale of your products by providing an impressive knowledge of your products.

    Posted in UtilitiesComments (0)

    How Much do You Know about the Development Course of MP3


    Most of you like the high quality of music enjoyment with the modern advanced media players. But how much do you know about the development of the course of this cool electronics-media player especially the multifunction MP3 player.

    Moving Picture Experts Group Audio Layer III is the full name of MP3. MP3 is a kind of popular form with digital audio code and loss compression. It’s designed to cut down the audio data volume. For most users there are no big changes with the replaying quality compared with the uncompressed audio. It was developed and standardized by a group of engineers of the Fraunhofer-Gesellschaft located in Erlangen, Germany in 1991.

    Simply speaking, MP3 is a kind of Audio Compression Mode. The full name of the mode is MPEG Audio Layer3, and it was called MP3 for short. High-quality music is for you to enjoy when MP3 files is decompressed by the MP3 player.

    Origin of MP3
    MPEG-1 Audio Layer 2 coding is a digital audio broadcasting program run by Egon Meier-Engelen from Deutsche Forschungs- und Versuchsanstalt für Luft- und Raumfahrt (It then was called Deutsches Zentrum für Luft- und Raumfahrt, the German Space Center). The program was set up by EU as a research program of EUEKA. It’s usually called EU-147 which was studied from 1987 to 1994.

    In 1991, there came to two proposals: Musicam (Layer 2) and ASPEC. A group fromed by people from four countries combined the design idea of Musicam and ASPEC with their own design, and then the MP3 was developed successfully. All of them became the part of MPEG-1, the first criterion group.

    Karlheinz Brandenburg evaluated the MP3’s compression algorithm by the CD medium song Tom’s Dinner sung by Suzanne Vega. Because it’s easier to find the drawback with the piece of soft and simple music. Suzanne Vega was nicknamed as the “mother of Suzanne Vega”.

    MP3 tends to the public
    In order to create the compatible MPEG Audio, ISO MPEG Audio committee developed the simulation software. Afterwards, in June 7, 1995 Fraunhofer-Gesellschaft published the i3enc –the first MP3 coder. Fraunhofer developing group choose the file name “mp3” in June 14, 1995. People can code and replay the MP3 file on their personal computer. It’s an important technology for storing the music in computer, as the content of the hard disk is not big at that time.

    MP2, MP3 and internet
    In Octorber, 1993, MP2 took presence online. Internet Underground Music Archive (IUMA) was usually treated as the originator of online music. It’s the first internet HI-FI music web. Since 1995, MP3 was started to spring up online. The popularity of MP3 mainly benefited from the Winamp delivered by Nullsoft and Napster. These programs enable users to play, make, share and collect MP3 files.

    Now the MP3 has been upgraded rapidly and has become one kind of widely used electronics product. Just browsing a wholesale electronics page, a variety of MP3 are for your choice. They not only become more and more fashionable in design, but also more multifunctional. No matter you choose the lovely MP3 player or the cool one, you can always enjoy the high –quality music.

    Eager to get one? Then try the most popular online shopping experience and choose one from the reliable and trustworthy wholesale electronics supplier, you are sure to enjoy more beautiful life.

    Posted in UtilitiesComments (0)

    To Development of Portable media players


    The portable media players are known as a consumer electronics device that is capable of storing and playing digital medias. Also digital audio players (DAP) can also display images and play videos are PMPs like DAPs, the data is typically stored on a hard drive, microdrive, and flash memory. Other types of electronic devices like cellphones are referred as PMPs because of their playback capabilities. Consumers can also consider an iPod as a Portable media players are designed and marketed by Apple, launched in 2001. Portable media players are usually packaged with an installation CD and DVD that inserts device drivers, and in few players, software that is capable of seamlessly transferring files between the player and the computer. For latest portable media players, buyers can avail through online via the manufacturers’ websites or natively recognized by the operating system through Universal Mass Storage (UMS) or Media Transfer Protocol (MTP).  

    Unlike DAPs, Portable media players are available in either flash or hard disk storage in the market. Based on these portable media players, the storage capacities have been reached up to 64GB for flash memory and firstly reached by the 3rd Generation iPod Touch, and up to 500 GB for Hard disk drive PMPs, and then first achieved by the Archos 5 Internet Tablet. Now many Portable media players support memory card slots which includes CompactFlash (CF), Secure Digital (SD), and Memory Sticks. These are used to directly transfer content from external devices, and expanding the storage capacity of PMPs for usages. Certain Portable media players have recently added features like simple camera, built in game emulation, and simple text readers and editors. All these specifications of Portable media players are highly important to know. In this way buyers of portable media players should always remain in touch with the latest updates of this player for their future consumption.

    Posted in UtilitiesComments (0)

    Sun Softwares Offers Professional Software Development


    Sun softwares is a Mohali based IT Company with its offices in US, Netherland and Canada. The company was started in 1999 with the aim to provide world class IT and software development services to its customers. Company has clients mainly from US, Canda, Europe and Australia with more than 70% software exports to US. Company started with 5 employees and today is has more than 500 employees around three difference offices. Today, Sun Softwares is considered to be one of the fastest growing IT companies in the region. Sun-softwares provide wide range of services like software development, software development consulting, software development outsourcing, SEO, web design, web development, E-marketing and ORM etc.

    Sun softwares are one of the leaders in software development industry to turn your software ideas into a certainty. The software products the company offers can save the valuable time and resources of organizations. Sun Softwares provides a range of products and services that are stable, reliable, and affordable.

    Professional at Sun-softwares are highly experienced and trained in there field of expertise.  Employees are given timely training both in house and through other certification courses to keep them updated on the latest IT technologies being used. The company believes in focusing on Customer Satisfaction as its top corporate values. The main objective of the company is to exceed its growth goals while establishing long-term relationships with its valued clients.

    Professional at Sun-softwares are highly experienced and trained in there field of expertise.  Employees are given timely training both in house and through other certification courses to keep them updated on the latest IT technologies being used. The company believes in focusing on Customer Satisfaction as its top corporate values. The main objective of the company is to exceed its growth goals while establishing long-term relationships with its valued clients.

    In order to know in detail about the various innovative software products that Sun softwares offers log visit www.sun-softwares.com

    Posted in UtilitiesComments (0)

    Windows Mobile application development


    Mobile and compact devices become more and more popular in our society. Each of us faces with them every day. Certainly each of us has mobile phone, hand-held computers or other hi-tech devices.

    All of these devices have different mobile platforms. There are such known platforms as Windows MobileM, iPhone, BlackBerry, Symbian OS, Android, Maemo, OpenMoko etc. All of them have different history and advantages and failings.

    Introduction

    Such platforms as Windows Mobile, BlackBerry, iPhone are «closed» enough and limited by either their own devices (BlackBerry, iPhone) or development complexity. Among other problems of above mentioned platforms there is limited API. Even Java platform for mobile devices has some failings such as great number of limitations; very different APIs; device dependent code. Symbian and Windows Mobile platforms are better from this point as far as they support wider range of devices and their APIs give more options.

    Common problem here is also that there are a lot of platforms. Talking about OpenSource and Cross-Platform solutions we should say that they are still developing at the moment and are not widespread yet.

    In this article we’ll pay our attention to the Windows Mobile platform.

    Microsoft Company released its first platform for inbuilt devices at the end of the 90th. In 2002 Windows CE.NET platform appeared. And at that time Pocket PC based on Windows CE 3.0 platform and higher were released. Further development of wireless communication technologies managed to combine telephone and personal computer. Thus Pocket PC 2002 Phone Edition appeared which supported the standards of GSM, GPRS, Bluetooth and wireless HS network access. In the same time another device concept was developing that was much similar to the above mentioned but was closer to the telephone then to personal computer. This device was named SmartPhone 2002. Fundamental difference between Smartphone and Pocket PC is that Pocket PC has touch screen while Smartphone has only control buttons. They also had different application scopes and supported different standards and technologies.

    Windows Mobile platform more belongs to smartphones, communicators and small personal devices. Windows CE and Windows Embedded platforms are commonly used in different industrial equipment.

    Now we have Windows Mobile 5 and Windows Mobile 6 generations and Windows Mobile 7 will be released soon. Modern devices based on Windows Mobile Pocket PC; have 500-600 MHz processors and 64-128 MB RAM that is not little for such devices.

    1. Development Tools

    There are a few models of development of applications for Windows Mobile:

    Win32 API MFC .NET Compact Framework.

    Microsoft Co gives developers all necessary tools for development of applications for PDA, Pocket PC; and Smartphone.

    Here are some advices about different code type choosing.

    Use Native Code for achieving the burst performance, direct work with hardware, and also for minimization of system resource requirements. Use Managed Code for development of GUI-oriented applications which main requirements are development and market deployment terms. Managed Code is also good for the easy work with web-services. Use Server-Side Code for work with different devices through a single code base, and also if wide stable communication channel with a device is present.

    Below are the reviews of present development tools for PDAs, Pocket PCs and Smartphones.

    eMbedded Visual C++ 4.0

    Microsoft eMbedded Visual C++ 4.0 development environment is meant to create applications for devices with Windows CE .NET 4.2 operating system and also (with package of updates SP3) for PDA and Smartphones on the Windows Mobile 2003 Second Edition platform. The development environment eMbedded Visual C++ 4.0 is good for creation of native code for mobile and inbuilt devices with Windows CE .NET 4.2 OS. It allows developer to perform Just-In-Time Debugging for diagnostics of unhandled exceptions, Attach-to the process for the extended debugging of processes, and also interaction with an emulator.

    Visual Studio .NET and SDP functions

    SDP (Smart Device Programming) functions of the integrated environment of development Visual Studio .NET 2003 (2005, 2008) allow to create applications, that uses possibilities of Microsoft .NET Compact Framework platform. Thus a developer can create the distributed mobile data-processing systems, workings both in scenarios with connection and without permanent connection. Vast class library of .NET Compact Framework platform makes application development much quicker than with traditional development tools.

    Visual Studio .NET lets create applications for the Pocket PC 2002 devices and (with proper SDKs) Pocket PC 2003, 2005 and Smartphone 2003, 2005, applying the same tools as those used for the development of applications for desktop PCs. Library .NET Compact Framework is installed together with Visual Studio .NET. This library is specially developed for devices with the limited resources. Developers can also use new languages C# and Visual Basic .NET for applications for mobile and inbuilt devices. They are good in workings with web-services and ADO.NET technologies.

    Control elements of ASP .NET Mobile Controls extend SDP functions and .NET Compact Framework platform. They give opportunities to use possibilities of .NET Compact Framework and Visual Studio .NET for development of mobile web-applications due to the data delivery to various mobile devices by means of ASP.NET technology. This approach allows to create single mobile web-application in the Visual Studio .NET environment, that will automatically perform data rendering for displaying on various devices: mobile phones, smartphones, PDA, Pocket PC. The integrated development environment makes it possible to create mobile web-applications simply by dragging control elements on forms.

    ASP.NET System sets no components on a client device. For adaptation of formatting under concrete browsers server logic is used. It generates information in the formats of Wireless Markup Language (WML), HTML, and Compact HTML (cHTML).

    Microsoft SQL Server

    Microsoft SQL Server Compact Edition (SQL Server CE) is a compact DBMS for rapid development of applications that extend possibilities of work with enterprise data due to the mobile devices using. SQL Server CE is a tool facilitating development of mobile applications due to support of SQL syntax and usage of application and API interface model that is compatible with SQL Server.

    SQL Server CE provides the basic set of relational database functions, in particular optimized query handler; support of transactions and heterogeneous types of data – with unpretentious requirements to the system resources. Remote access to the data and replication by confluence provide reliable delivery of information from the SQL Server bases, possibility of autonomous work with by information and subsequent synchronization with the server. SQL Server CE is good for the systems with mobile devices and wireless networks.

    SQL Server CE DBMS is developed for integration with .NET Compact Framework by means of Visual Studio .NET. It simplifies development of applications for work with databases on mobile and built devices. New data supplier of SQL Server CE for code management in the Common Language Runtime environment helps to develop distensible applications with possibilities of autonomous work with information in scenarios without permanent connection.

    Microsoft .NET SqlClient gives API for work of both .NET Framework and .NET Compact Framework applications. For the common Windows systems SqlClient Microsoft with SQL Server are used, and SqlServerCe for Microsoft SQL Server Compact Edition databases for Compact Framework.

    Name space of SqlClient is in both versions. So we can interact:

    Using .NET Compact Framework SqlClient to have an access to SQL Server from device on Desktop. Using .NET Compact Framework SqlServerCe to have an access to SQL Server Compact Edition directly on a device.

    Work with databases on a device is similar to the work on Desktop. To access to SQLServer on Desktop system SQL uses TCP/IP connection thus in this case it is possible not to have SQL Server Compact Edition installed on a device.

    All of the mentioned models are implemented on the desktop systems. So the experience of their application can be carried for development of the programs for Windows Mobile. Using Win32 API we rapidly get compact code, and also can use it for development of drivers and system component.  Using MFC we have extensions of API functions, and also designer for development of interface. And using Compact Framework we have at our disposal well developed interface, automatic garbage collection, support of XML and other options. Also there is even more truncated version — Micro Framework, where there are less SDK functions.

    After SDK for MS Visual Studio installation new configurations of assembling appear as well as new functions for assembling under these platforms. Suit also contains Emularor for software development and testing without physical connection between device and computer.

    As far as many devices that are based on Windows Mobile have ARM processor it is also possible to compile units using other compilers: AVR32, ARM (RealView), GNUARM, IAR Systems.

    2. Building Windows Mobile Applications for Windows Mobile devices using MS Visual Studio .NET

    Visual Studio development environment together with Compact Framework enable to develop applications using a vast graphic interface, databases, archiving and encrypting tools,  USB, Serial, Bluetooth, and also wireless network connections and telephony. All of these is provided by SDK as well as libraries and heading files from Platform Builder.

    2.1 User Interface

    Due to the presence of good designer in VS and SDK we can easily develop GUI for mobile applications just the same as for Desktop applications. The only difference is in sets of  graphic components for Desktop systems and for Windows Mobile. There is also difference between components of Smartphone and Pocket PC versions caused by that Pocket PC has a touch screen and SmartPhone has not. Therefore development of interface for SmartPhone is more complex. One should take it into account when developing software for both platforms.

    Here we should also mention that software built for Pocket PC won’t start on the SmartPhone platform while the opposite situation is possible – till the moment when some special Smartphone function is called.

    It is naturally that many graphic components as well as majority of functions from full-size Framework were taken away from Windows Mobile SDK to reduce the size of the SDK on the device side. Only the most needful elements were left. But the productivity and volumes of memory are increasing so the number of function included in SDK becomes greater. So the difference between Compact Framework 1.0 and 2.0 is enormous. Version 1.0 was very limited.

    In general the development of GUI with ?ompact Framework on ?# is similar to the development of the common Win32 application on C#.

    It is also possible to develop a graphic interface using assembling of the 3D rendering-engines. They are such as GAPI (Game API), OPENGL ES (Embedded System), OPENVG (Vector Graphics), and other projects. Certainly it is rather labor intensive process as far as it is very important to write an optimal code because of the relatively low  productivity of mobile devices.

    2.2 Communications

    To date mobile devices have a wide range of communicational options. They have an access to the wireless high-speed network using 802.11 WiFi Connection standard. They also use IrDa, Bluetooth, and USB host/client functionality. While the usage of Irda is gradually getting less protocols and standards of Bluetooth, WiFi, Edge, GSM, and also USB are used quit often.

    Microsoft Company provides such APIs:

    ActiveSync API provides functionality for work with services of synchronization, file filters, etc. Bluetooth API provides functionality for wireless access to mobile and peripheral devices. Connection Manager API serves for the automation of connection process, network connection management. Devices are using Connection Manager to establish connection and also to inform about the supposed connection (for example Internet). Object Exchange (OBEX) API provides functionality for work with effective, compact binary protocol just suitable for devices with the limited possibilities. Remote API (RAPI) provides functions for management and remote call of methods on the device side. Such functions are available: access to the register, files, databases and different configurations of device from the Desktop-system. The most important option is Remote Procedure Call when we simply call the method «CeRapiInvoke()» on the Desktop side, transmit the name of DLL on the device side and the name of function in this DLL and then just call this method. Pocket Outlook Object Model API provides functions for work with the objects of Pocket Outlook. It provides interfaces for synchronization and access to the objects: Task, Calendar, Contacts. Telephony API (TAPI) includes: Assisted API Extended API Phone API SIM Manager API Short Messages Service (SMS) API Telephony Service Provider (TSP) API Wireless Application Protocol (WAP)  API.

    Also mobile devices have possibility to work with Serial (USB) ports. There are a few COM-ports in many devices. Usually the first 3-5 of them are reserved for IrDa, Bluetooth, SerialPort and others. Other ports are available to for user. Some devices have USB-Host functionality in other words they are USB On-The-Go (OTG) devices which can serve both as USB Client and USB Host. For this purpose device should have necessary Hardware and Software (Device Driver).

    Device Driver is a driver which is an intermediate layer between the driver of HOST and  level of applications. Such driver provides «Stream Interface Driver» and must contain such functions as:

    XXX_Init XXX_Open XXX_Close XXX_Write XXX_Read XXX_IOControl

    Here “XXX” is replaced with «prefix» (for example «COM», «DSK»).

    This prefix registers in the registry when a driver registers in the system. More detailed information about Device Driver Interface can be obtained from MSDN.

    Also a developer can use such APIs not concerning communicational ones:

    Device Configuration API File and Application Management API Game API Home Screen API HTML Control API MIDI API Shell API Speech Recognizer API Vibrate API Voice Recorder Control API. 2.3 P/Invoke and Native Interop

    As far as Compact Framework contains basic functions and methods from complete

    Framework we have such functionality as:

    XML Serialization Cryptography Security Reflection Interop Services et al.

    Certainly Platform Invoke calls are accessible. For this purpose – as well as in complete Framework – we use functions and attributes from namespace System.Runtime.InteropServices and DllImport attribute for description of functions which will be called from non-managed code.

    However the functionality of these methods is limited. So Marshal class has PtrToStructure, GetComInterfaceForObject, Copy() and Read() functions but, for example, there is no such function as GetDelegateForFunctionPointer() in it. So it is impossible to make Marshaling just with Delegate. The GetFunctionPointerForDelegate function is available only. If we want to transmit a pointer to the function from Managed code we should get its FunctionPointer and only after that transmit it to the unmanaged code for subsequent call of it from there. Also we can not transmit some objects because Compact Framework can not count SizeOf() for some objects. Therefore frequently we have to transmit  data of Blitable types only and arrays of these types (Int, byte, char, but not bool),  and transmit and receive  classes and structures by means of IntPtr. Certainly it is explained by aspiration to increase the performance. It is therefore recommended to use primary types for Marshaling and «GCHandle» class for storing an object in the process memory and to make this memory «visible» for unmanaged code

    Certainly the performance of P/Invoke calls from C# application in C++ DLL is almost twice less than the performance of method calls between C++ DLLs. However the performance of devices grows and it becomes possible to use such calls.

    2.4 Debugging

    MS Visual Studio enables to make debugging of applications under

    Windows Mobile just the same as for Desktop applications. We have Emulator, Device Emulator Manager and other to functionality such as Breakpoints, Threads, Watches panel etc.

    However to make Debug using Native and Managed code simultaneously is impossible. Therefore it is possible to start either C++ projects or Managed ones. It’s also so for «Attach to process». There is a possibility of attaching to the processes on the device side (or emulator side). ActiveSync is required to provide communication between a device and the system, it is installed with SDK. An emulator also can be connected to the computer by means of ActiveSync. We obtain almost complete emulation of Windows Mobile devices. Here are both SmartPhone and Pocket PC (or Pocket PC Phone Edition) emulators. However only one Windows Mobile device can be connected to the computer at one time moment. Therefore Debug on two devices simultaneously which for example interact in some way is rather difficult. Certainly we talk only about Debug of applications developed by us but not about applications and services of the system. For such debugging we need the complete built of the system created by means of Platform Builder (in the last versions of Platform Builder it’s included in Visual Studio). We can also create our own SDK for Visual Studio and Windows CE platform.

    An emulator also enables to emulate connection with the GSM network and GPS support. It makes possible to test and develop large spectrum of applications without having a physical device in hands.

    Talking about Debug with IDA we should mention that version 5.1 already has the possibility to perform Debug by means of this interactive disassembler with the use of their plugin which is installed on a device.

    With SDK appearance such option as «Deploy» appears in Visual Studio environment. Now there is «Deploy» item in project context menu additionally to “Build”, “Clean”, “Debug”. After you choose this item DLL or EXE file built by current configuration is transmitted to the device. Also new column appears in Configuration Manager where not only «Build» in some configuration option is available but also «Deploy». Deployment of .NET projects transmits not only the unit but also those builds that are depended on it (Dependencies).

    3. Deployment and installation

    Development of applications for Windows Mobile supposes also their assembling and creation of installation package. For this purpose there is such concept as ?abinet (.cab) file in Windows Mobile. It is a common archive but it is a installation package also (a sort of MSI package). It is assembled by means of Cab Wizard (cabwiz.exe) from MS VisualStudio (or from a command line). This utility creates processor dependent «.cab» file. WinCEApplicationManager transmits and starts CAB on a device, so user can install the application using instructions appearing on device screen. It is also possible to create the project of MSI Installation which includes CAB file by means of Visual Studio. This built package will be started on user computer and then transmit ?AB installation on a device to continue installation process.

    There is special Uninstall Manager on the device side. One should attach configuration INI-file to CAB file. This INI file includes settings to manage installation process such as path, shortcut name to create, minimal OS version to install the application and others written in special syntax. It is also possible to include your own DLL into CAB-file to widen installation options. This DLL contains such functions as «Installer_AfterInstall», «Installer_BeforeInstall», «Installer_AfterUnInstall», «Installer_BeforeUnInstall», code in these functions will be executed on the device side in the certain moments of installation or uninstallation process.

    When developing CAB installation it is possible to attach files, different resources, built units, add information to the registry. They are designated as «Project Output. That’s why there is no need to reset anything after CAB-file creation: it will collect all included projects and files and assemble in an archive.

    4. Security Model for Windows Mobile 5 and Windows Mobile 6

    Devices based on Windows Mobile receive, send and analyze potentially important information which should be protected from unsafe applications. To protect device the starting of unknown applications is disabled, the access to some API is restricted and some registry parts changing is forbidden. Units can be marked as Trusted and Untrusted and system uses this information to prevent starting of unauthorized applications and limit their access to the system. Also the access to the system by means of RAPI (Remote API) through ActiveSync can be restricted. Security Certificates Security Rights are used for the executable units (EXE, DLL) and for CAB-files.

    Protection Against Threats and Risks

    The followings options help to protect devices:

    Strict password protection. PIN code protection. Devices corrupt deleted information to prevent access to it (WM 6). Devices corrupt deleted information on memory cards to prevent access to it (WM 6). Storages encryption and Advanced Encryption Standard for SSL (WM 6). Own certificates usage. Detecting a device via Bluetooth can be protected (WM 6 Smartphone). 2 layer system of application starting (One-tier and Two-tier access). No support of macros, therefore viruses can make much harm.

    The start of applications is based on Permissions. Windows Mobile devices use such models:

    Privileged Normal Blocked

    Privileged applications have the widest access. They can access any API, write in the protected areas of registry and have the complete access to the system.

    Most applications have Normal model. They do not have access to the trusted API and do not have the complete control of the system.

    Application can not be started at all if it has “Blocked” status. It means that it’s not signed with the proper certificate or user forbade the start by the proper warning of the system.

    Analogical situation is with Cab-files. The executable units with Normal status can start Privileged DLL but then they will work as Normal. However Privileged executable units can not start the units having Normal status.

    Written by Eugene Kordin, Apriorit specialist.

    Learn more about development process of Apriorit here.

    Posted in WindowsComments (0)

    Development of Portable media players


    Portable media players are known as a consumer electronics device which is capable of storing and playing digital medias. Also digital audio players (DAP) can also display images and play videos are PMPs like DAPs, the data is typically stored on a hard drive, microdrive, and flash memory. Other types of electronic devices like cellphones are referred as PMPs because of their playback capabilities. Users can also consider an iPod as a Portable media players designed and marketed by Apple, launched in 2001. Portable media players are usually packaged with an installation CD and DVD that inserts device drivers, and in few players, software that is capable of seamlessly transferring files between the player and the computer. For latest Portable media players, you can avail through online via the manufacturers’ websites or natively recognized by the operating system through Universal Mass Storage (UMS) or Media Transfer Protocol (MTP).

    Unlike DAPs, Portable media players are available in either flash or hard disk storage in the market. Based on these Portable media players, the storage capacities have been reached up to 64GB for flash memory and firstly reached by the 3rd Generation iPod Touch, and up to 500 GB for Hard disk drive PMPs, and then first achieved by the Archos 5 Internet Tablet. Now many Portable media players supports memory card slots which includes CompactFlash (CF), Secure Digital (SD), and Memory Sticks. These are used to directly transfer content from external devices, and expanding the storage capacity of PMPs for usages. Certain Portable media players have recently added features such as simple camera, built in game emulation, and simple text readers and editors. All these specifications of Portable media players are highly important to know. Anybody who like the usage of portable media players can visit online shops to know the latest updates of Portable media players for future benefits.

    Posted in UtilitiesComments (0)


    Categories

    Recent Posts

    Blogroll