Sunday, February 12, 2012

Photo a day


Photo a day is a new picture organization app by our very own Pakistani group "Smasherzz". The main purpose of the app is literally as its named, i-e a photo a day. Which in my view is also a negative point for the app. But we will get to the details in a moment, first lets have a get go at the app and its features.

Purpose
Photo A Day tries to make it easier for the android user to keep its "a memory a day" picture organized by dates. Its like the movie "Memento" . If he had this app, his life would have been a lot easier :). But unfortunately that's about it. The app does just that.
Though its a great effort but there is much to be longed for in the app.

My experience
I spent around 15 minutes on using and exploring the app for features, but as described above, its literally just "photo a day" app. Nothing more, nothing less. I have seen better apps for the purpose on the market which in my view also lack a couple of essential features which I'll be listing below.

Wishlist
If this app is to be popular or gain number in downloads, the developers will have to put focus on the following areas.

1- UI

The UI is a major turn off and definitely needs work and attention. Here is a screenshot of what the app actually looks like under the icon.


If this app is to make money, UI is the first thing that needs changing.

2- No flick ?

It was a surprise for me when the calendar month didn't change on swipe / flick of the thumb.

3- FC oh my!

If you click on the previous month's date appearing in current month, like in the screen shot above. The app will FC. (Force Close)

4- No ownership of files

I would never like an app to try and take over my base.. "All my base are not belong to you" as the wise Panda once said. It is recommended that the developers use a separate folder to save thumbs of the images assigned.

5- No Timeline ?

In an app that says "photo a day" should have a scroll-able timeline feature to be able to browse through the dates and images.

6- A photo a day ? literally ?

I would like my photos arranged by date, yes Sir. by Month, Yes Sir, but do I have one photo every day ? No Sir. This should be a more of a assign "photos" to a specific date instead of "A photo A day"

7- Sharing is caring

There should be a "share" button which allows sharing images via facebook, Gmail or say MMS ?

8- No cloud sync

If I were to keep this app for a memory of my say , son growing up or my valentine ;) I'd definitely want it to keep my memories safer than an SD card crash away. How about Picasa for sync ? its Google product. Or say your own cloud storage ?

Links :
Facebook
Android Market
QR Code


Saturday, February 11, 2012

Traffic Pakistan


Traffic Pakistan is a newly launched first of its kind traffic reporting service for Pakistan. Currently launched in three major cities:
  • Islamabad
  • Karachi
  • Lahore
Though simple yet a very useful and creative idea brought to life. In Pakistan, you are bound to get stuck in traffic blocks when you leave for someplace. But this innovative service can help you save your time. As it provides latest updates regarding different roads / places in the respective city.

Its a purely user contribution based service, relying entirely on the input by users. More the people start using and contributing it, more useful the service will get because it fetches updates based on users input. 

Amazingly, people of Islamabad have come up with a very unique way of utilizing this service, and that is Updates on CNG pumps in Islamabad.
For example:
  • F7 caltex is serving two lines at a time. Can be time saving
  • long bloody line for cng at pso f8 and caltex f8. Oh my!!
Given the chance, this can be a very useful community.

Using Traffic Pakistan

Getting Updated
Getting updates from Traffic Pakistan is as simple as 
  • Opening the website www.trafficpakistan.com and following your respective city. Search for your point of interest and you are done.
  • Getting updates via SMS is very intuitive and easy to remember, you just send an SMS to +92-312-5554065 containing this text: "traffic islamabad" for last 5 updates related to Islamabad. Or "traffic islamabad islamabad highway" for last 5 updates related to "Islamabad Highway" in Islamabad.

Similarly for other cities, your SMS should be "traffic CityName PointOfInterest" for specific updates about a point of interest or "traffic CityName" for city updates.

Contributing/Updating Traffic Status
Traffic Pakistan does not require any kind of registration to be a contributor, it is open for all. You can be a part of community in two ways,
  • Twitter: When posting updates meant for Traffic Pakistan, use the following "hashtags" in your tweet.And Traffic Pakistan will automatically get updated.
  • #lhrtraffic for Lahore
  • #isbtraffic for Islamabad
  • #khitraffic for Karachi 
  • SMS: If you don't use Twitter, you can still be a part of this fast growing community. You can SMS at +92-312-5554065 starting with the following keywords:
  • lhrtraffic for Lahore
  • isbtraffic for Islamabad
  • khitraffic for Karachi
for example : SMS "isbtraffic faizabad is blocked by protestors" will update Islamabad Channel with the post, its that simple.

On successful post, you will receive an acknowledgement from Traffic Pakistan indicating that your post was successful .

For help, simply SMS "help traffic" on +92-312-5554065 .  Don't forget to save this number/

We at Wired Soup think that given the restrictions and support by the Government in Pakistan, its a very useful service for the community, but its success depends on the usage by the community. Next time you plan to go out shopping, make sure you have checked www.trafficpakistan.com



Wednesday, November 30, 2011

Bit field structures in C – Microcontroller Programming

Theory


When you are working with Microcontrollers you often have to keep status flags for certain events, e-g when you are using a timer, you need to keep track of how much time in milliseconds or seconds have elapsed, but your timers only allows ticks in microseconds, so you count the number of microseconds say 1000 microseconds and “Set” the flag “one_ms” indicating one millisecond has elapsed. And more than likely, this flag “one_ms” is either a “char” type or an “int”. In either case, a char will take one whole byte and an int will take 16/32 bits depending on the architecture. But if you notice, what you needed to convey could have easily been conveyed or kept record of in one bit only. So for one status flag of one bit wide, you pay a price of unused extra bits. That is not all, you also end up having multiple status flag variables, meaning you are wasting a lot of useful resource (memory). And the code gets messy too.
However, there is a better way to keep status flags without wasting the memory or without making the code a mess. And that is by the use of “bit fields”  in C programming.

Bit fields are a special structure member type. A bit field is of type integer but its width is specified by the programmer. For example, ARM7 is has a 32-bit integer, but when I use this “int” data type for a bit field, I can specify the actual size this integer will occupy in memory by specifying the size after a “:”.


struct normal_integer
{
unsigned int millisecond;  //occupies 32 bits in memory
}obj;
===================================================
struct bitField
{
unsigned int millisecond : 4 ;  //occupies 4 bits in memory
}obj;


Bit Fields can be of type “signed integer” , “unsigned integer” or a “bool”.
Keep in mind, the specified size cannot exceed maximum default size of that data type. And, for portability and other holy reasons always specify if you want your bit fields signed or unsigned.

Useful example of Bit Fields

Suppose you are designing a stop watch you have one hardware timer which is capable of counting ticks in microseconds. But you want time in seconds and milliseconds. So what do you do ? You wait and count.
For the stop watch example:


int tick_counter ; //global tick counter
struct lap_time
{
    unsigned int start : 1 ; //one bit flag indicating whether the lap time has started or not
    unsigned int millisecond : 1;  //one bit flag indicating 1 millisecond
    unsigned int ten_millisecond : 1; //one bit flag indicating 10 milliseconds
    unsigned int second : 1;  //one bit flag indicating 1 second
    unsigned int laps_elapsed : 4; //4 bit wide elapsed laps counter

} lap;
void timer_isr( )    //ticks every 10 microsecond
{
    //disable low / equal priority interrupts
    if (lap.start)
    {
        tick_counter ++;
        if(tick_counter == 100)
        {
            lap.millisecond = 1;
        }
        if(tick_counter == 1000)
        {
            lap.ten_millisecond = 1;
        }
        if(tick_counter == 10000)
        {
            lap.second = 1;

           tick_counter = 0;
        }
    }
    //enable low / equal priority interrupts



}
The isr written above is only generic code for the specified example, it does not assume any specific sort of hardware. That is why I have placed comments at the start and end of the ISR for hardware specific routines you need to do.
Link: Bit Fields on wikipedia
Technorati Tags: ,,

Friday, November 25, 2011

PlayerPro Music Player for Android - Better than cheese cake


PlayerPro for Android is "The" Music player that should have been the stock music player for Android.


Why did it land a review here at "Wired Soup" ? It is plain awesome , that is why.


I will not go into a very deep review for this Android App, but just enough to give you an idea of its goods and bads, rest you can test it yourself or take my word for that is tried and tested :)


PlayerPro for Android is a light weight Music player with support for major music formats .


Formats supported: mp3, ogg, flac, wma, wav, m4a, mp4.


As every music app, it also has its equalizer (no music app can go wrong in that section), PlayerPro has a 10 band graphic equalizer with 15 default/customizable presets and that is not something to boast here either. It has the capability to sort files by Genre , Album, Artists, Playlist, Songs , Folders. Which are really convenient for everyone even a new user who just opened up the app can figure his way out easily. The UI is very intuitive. 


It supports Dolby and SRS sound effects for HTC devices equipped with HTC sound enhancement (HTC desire HD, etc).


Widgets 


PlayerPro for Android has 5 Homescreen widgets (4x1, 2x2, 3x3, 4x4, 4x2) and 2 lockscreen widgets to choose from. 


PlayerPro supports swipe gestures to make the user experience more dynamic and easier to use. 


Swipe gestures


On Player Screen: swipe album art to skip songs, 
On browser screen: swipe left to play next, swipe right to play last


Shake It Support


It also supports the walkman style "shake it" feature. Don't like current track, just shake it ;)
(e.g.: shake top to bottom or bottom to top to play next/previous song).
But the most attractive feature that really caught my attention in this Android App which has been absent in (i am sorry to say) 97% of the music player apps on Android I have tested is "Auto fetch Album Art".
Auto Fetch Album Art
I never liked a "Play" icon being used as my Player screen for 100% of my downloaded songs because they never came with album art ... (for obvious reasons) and No player on Market will give me album art without me going to Google images finding the specific Album cover, saving file, editing music files tags, assigning a new Album cover and all that hassle. 

But PlayerPro did it for me, if you have your tags set, it will get the Album Art for you. If you have Artist tag set and no album tags, even then it will find the cover for you but ofcourse this time it will be based on artist and not the album. But its still cool. My playlists look so pretty now ^_^

Moreover, you can read Album and Artist reviews directly from PlayerPro too.
Well, I have to say I am sold on PlayerPro as my Music Player for Android devices. 
Let us know in Comments section below, which Music Player suits you on Android.

Thursday, November 24, 2011

Smart Keyboard - The Virtual keyboard for Android



Smart Keyboard for Android



When I first got my hands on Android Phone, the first thing I noticed was the bad default keyboard. I didn't like the layout, pressing extra key to get regularly used symbols is a pain in the you know where. No smiliy key , a small space bar and it could not handle my uber fast typing speed even though it was a multi touch phone.

So I started looking for keyboard alternatives and read a lot of reviews , downloaded and tested a lot of keyboard apps and finally settled on "Smart Keyboard" for Android

Smart keyboard offers what the default Android Keyboard should. It has skins to match your taste, you can change the size of "space bar", you can even get rid of the "comma" and "mic" key to make room for a bigger space bar key. What I really missed when I was using default keyboard and chatting with friends was the smiley key. I could not make emoticons because of the extra keystrokes required to make one. But Smart Keyboard has a smilie key by default with customizable smilie list . 


There is a good support for various languages too, you can download your required language from the market for free. You can resize the keys to your liking. You can change the tap sound, turn on /off the vibrate on key press. Smart keyboard can learn your contacts names if you wish it to, you can turn on "Smart Dictionary" which basically means, allowing the app to learn new words. There is so much you can customize.

Another very appealing feature of Smart Keyboard is various layouts which include , the classic T9 layout (like phone pads), the compact layout and the qwerty keyboard layout. The Only thing I think is missing is the swipe functionality, which is not really annoying nor is missed when you have such a great predictive keyboard.


Tuesday, November 22, 2011

Technorati

Readers please ignore this post.


Applying for Technorati


ZNVC6DSEVY5Z





RockMelt – The Social Browser



There has been a browser war going on for some years now, with mainstream competitors such as Mozilla Firefox , Opera , Chrome and Safari (I would not even dare to call Microsoft’s Internet Explorer a browser, as we say in Urdu “Apni izzat apnay hath”).

CAUTION: Use Internet explorer at your own risk.

Somewhere around November 2010, a new contestant “RockMelt” stepped in the arena. It had everything that Google Chrome has, the sleak look, customization, Fast Chromium Engine and a lot more.And It offered what no browser offered before … “social integration”. Well I may be over exegarating but the way it integrates social networks is so intuitive to use that it hardly takes fifteen minutes to get used to it. And once you get the hold of it, you just feel like “sharing” more and being more “e-social”.

RockMelt comes built on Chromium Engine, which means it can work with anything Google Chrome can. The UI may look too similar to Chrome but why should it be a problem when Chromium itself has a great UI. Rockmet is compaible with almost all Google Chrome extensions and the extra juice it pours to make your experience sweeter is “Auto Suggesting” a compatible app/extension if there is any for the current website.


You can stay updated about your social networks and other feeds without leaving your browser or the page. Plus there is an in-built “View Later” application.

You found something interesting and want to share it right away ? with RockMelt, this is not a problem. You just have to click “Share” and it will present you with a dialog box asking for which social sites you would like to share this with. Its that simple and intuitive.



Okay, so I have been playing around with this Browser, and here is my evaluation.

Advantages:

Chromium engine base allows RockMelt to be compatible with Google Chrome Extensions, and if you were a Chrome user then moving to RockMelt feels like a walk in the park.

User experience
The people at RockMelt have made such good and efficient use of the screen space that you never feel cluttered even with so many updates going around. It uses the side walls of the browser for Social Network Integration.

Facebook and Twitter
I have found myself sharing posts and viewing shared posts on my wall and on my twitter stream more regularly than I did before RockMelt, because I don’t have to move away from what I am doing. And It doesn't require me to do “anything” except press a button to share.

Share button
Simply, “The magic click

Disadvantages

In-built download manager still lacks the luster.

Twitter stream does not only keep count of your mentions but also of any update on the stream, which is annoying. There should be a provision of choosing either or both, but there should be a choice.

If you are a heavy social media user, you’ll probably find the experience useful and enjoyable.  However if you only find yourself on Facebook or Twitter 1-2 times per day, I would stick with your normal browser of choice. 


http://www.rockmelt.com/