(X) Hide this
    • Login
    • Join
      • Say No Bots Generate New Image
        By clicking 'Register' you accept the terms of use .

Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications

(4 votes)
Gill Cleeren
>
Gill Cleeren
Joined Apr 02, 2010
Articles:   63
Comments:   6
More Articles
30 comments   /   posted on Aug 14, 2012
Tags:   windows-8 , gill-cleeren
Categories:   Windows 8 , General

In the previous articles of this series, we have touched on quite a few important aspects of Windows 8 application development. In part 6, we looked at tiles. We saw that live tiles are a way of allowing your application to displaying up-to-date information to the end-user while it’s not running. A valid question that I often get is: why isn’t the application running? We’ve had the multi-tasking paradigm for many years now and it’s something we as developers take for granted.

Windows 8 breaks with this “tradition”: a new type of application lifecycle is introduced in Windows 8, entirely managed by the operating system itself. However, it has several places where we as developers need to hook into to build great experiences for our users.

In this article, we’ll take a look at the options we have to manage how our application behaves in combination with the new application lifecycle management. We’ll take a look at executing code in the background as well.

The code for this article can be downloaded here.

Breaking with a tradition

In the last 15-20 years using Windows, we have been used to the fact that applications run in the background, even if they aren’t receiving the full attention of the user. When I’m running Visual Studio and Word together to write this article, I know that Visual Studio is waiting somewhere behind the Word instance for me to interact with it again. I could well have given Visual Studio a task such as compiling a large project and keep typing in Word. The CPU’s time is scheduled so that both processes receive enough CPU time to perform their tasks.

Of course, this results in divided attention of the CPU for all process (even though it’s not always conceived that way). This goes for other resources such as the disk and the network as well.

Also, users are fully responsible for managing the system and its resources. When I once again have too many Visual Studio instances open and my system starts running out of memory, I’m the one that will have to start shutting down some apps. Windows won’t be doing that for me.

With Windows 8, Microsoft is changing this paradigm for Windows 8 apps (in the desktop environment, this doesn’t change). The basic rule in Windows 8 is that the foreground application receives the full attention of the system and therefore gets undivided access to system resources such as the CPU, the disk or the network. By default, only one application is the foreground app (unless we have an application in snap view, where we’ll have 2 apps running at the same time). All other apps running in the Windows 8 environment are suspended, meaning the application is kept in memory but it doesn’t get access to system resources such as CPU, disk or network. The app can return from suspension (it’s being resumed) or it can be terminated (basically the memory is cleared). We’ll take a look at these states in a second.

The most important thing to remember here is that Windows will be managing the lifecycle of the application, not the user. We as developers need to act on events being thrown when the application goes from one state to another. The resulting experience is that the user will not care about saving state or even his work: he switches to another application and will expect that the application saves his document he was working on or the level in the game he was playing.

It’s time to say goodbye to confirmation messages, asking the user if he wants to save his work. It’ll need to be done automatically using the above mentioned state change events.

Let’s look at the life cycle in detail.

image 

The process lifetime in detail

Initially, our application isn’t running. By tapping a tile, the application is launched by the user. The application enters the Running state. At this point, the application is the only running application, it gets access the full system resources. Any other application that might have been running, is suspended.

At some point, the user decides that he wants to launch another application. This results in our application receiving the Suspending event. Our application gets 5 seconds to save all it needs to save. That includes things like state, a document the user was working on or perhaps the location (page) the user was currently on. We should make sure that we save all that’s necessary to be able to reconstruct the same environment again afterwards so that the user is not aware that it might be a different application instance that’s running. Note however that the suspending event will only happen after 5 seconds. This interval is included so that actions such as quickly jumping to the mail client to check if there are any mails, wouldn’t trigger the suspension.

The net result after suspension is that the memory instance of our application remains intact. If the user selects to return to our application and the memory instance isn’t removed, we are returning to the same memory instance of our application. An event is fired, the resuming event. Not every application should be working with this event: it’s useful in scenarios where we perhaps want to rehydrate the data (such as a Twitter app where we’ll download the latest tweets again). A game would probably not benefit from this event.

If the user launches the one application after the other and Windows will basically leave them all intact in memory, at some point, the system will run now on resources (memory). At that point, termination will kick in, deleting the apps from memory that haven’t been touched for some time. The important thing to remember here is that the application isn’t notified about this and therefore can’t act upon it. When the user now returns to the application, a new instance is created and it’s vital that the state information we created when receiving the suspending event, is now put to good use.

App termination isn’t triggered exclusively by the system though: a user might shut down the application, a user may log off… These actions also trigger termination of the application.

Let’s look at a sample. In the code below, we are registering to be notified in the page of suspensions happening. This way, we can save all the fields the user has already filled in.

 

public MainPage()
{
    this.InitializeComponent();
 
    App.Current.Suspending += AppSuspending;
 
    App.Current.Resuming += AppResuming;
}
 
private void AppSuspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e)
{
    //Save any state you want to persist
    //Application data might be a good idea
}
 
private void AppResuming(object sender, object e)
{
    //When the app returns from suspending, this will get executed
    //Restore state in all fields in the view
}

In the App.xaml.cs, we have access to these events as well, basically allowing for application-wide handling of the lifetime events. Below we can see the OnSuspending and the OnResuming methods on the application level.

public App()
{
    this.InitializeComponent();
    this.Suspending += OnSuspending;
    this.Resuming += OnResuming;
}
 
private void OnSuspending(object sender, SuspendingEventArgs e)
{
    var deferral = e.SuspendingOperation.GetDeferral();
 
    //Here we can save application-wide state
 
    deferral.Complete();
}
 
private void OnResuming(object sender, object e)
{
    
}

Launching an app in Windows 8

In Windows 8, the default way of launching an app is through the tile. This will trigger the OnLaunched in the App.xaml.cs. Here, we have the ability to check if the application was already running (we don’t want to start it a second time). We can do so by checking the value of the PreviousExecutionState property on the LaunchActivatedEventArgs.

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    // Do not repeat app initialization when already running, just ensure that
    // the window is active
    if (args.PreviousExecutionState == ApplicationExecutionState.Running)
    {
        Window.Current.Activate();
        return;
    }
 
}

Next, we need to check if the application was terminated in its previous run. If so, the above explained state management needs to do its job. We as developers need to insert code here as shown below.

if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
    //Load state from previously suspended application
}

Finally, we create the rootFrame, create an instance of the default page that we set as the content for the rootFrame and set the rootFrame as the content of the Window of the application.

 

// Create a Frame to act navigation context and navigate to the first page
var rootFrame = new Frame();
if (!rootFrame.Navigate(typeof(MainPage)))
{
    throw new Exception("Failed to create initial page");
}
 
// Place the frame in the current Window and ensure that it is active
Window.Current.Content = rootFrame;
Window.Current.Activate();

Windows 8 however introduces several other ways applications can be started. Let’s take a look.

Launching the app through searching

When the user searches in Windows 8, he can select our application. If the application isn’t running, it’s launched. If it’s already running, it gets activated, in this case “activated for search”. The net result is that a method, OnSearchActivated, gets called, which we can override. Code should be implemented here that typically redirects the user to a search results page. The OnSearchActivated receives SearchActivatedEventArgs. In the QueryText property, the value entered by the user is passed to the method, allowing the app to perform the search operation.

Take a look at the following code where this is implemented. The code reads out the search value (QueryText) and redirects the user to the search results page.

 

protected override void OnSearchActivated(Windows.ApplicationModel.Activation.SearchActivatedEventArgs args)
{
    ProcessLifetimeSample.MainSearchResults.Activate(args.QueryText, args.PreviousExecutionState);
}

Launching the app through sharing

When the user is running an application that is capable of sharing content (often referred to as a share source) and our application is capable of accepting content (often referred to as being a share target), the target app can be activated for sharing. In this case, similarly to what happens with search, if the app isn’t running, it’s launched; if it’s already running, it gets activated for share. In this case, the OnShareActivated is called; we as developers of a share target should implement code in the OnShareTargetActivated event. An instance of ShareTargetActivatedEventArgs is passed which contains a ShareOperation instance. This can be passed to in most cases a specific page that the application will display in the search pane. The ShareOperation.Data is the DataPackage.

Take a look at the following code where the above is demonstrated.

protected override void OnShareTargetActivated(Windows.ApplicationModel.Activation.ShareTargetActivatedEventArgs args)
{
    var shareTargetPage = new ProcessLifetimeSample.MainSearchTarget();
    shareTargetPage.Activate(args);
}

Applications can also be launched from the file picker, both for saving and opening.

An important thing to think about in this context is the splash screen. The splash screen is shown on application launching (when the OnLaunched is called). The splash screen is shown until the Window.Current.Content is set automatically. As developer, we shouldn’t be doing heavy work in the launching of the application: if the splash screen is shown for more than 5 seconds, Windows will kill off the application. However, some scenarios require that a long running operation takes place before the application is actually showing its first screen, for example while we download data from a service. In that case, the first screen of the application should be a so-called extended splash screen. This screen should be identical to the regular splash screen but can contain a loading animation. The weather application for example does this, as can be seen below.

 

image

Running code in the background

When reading all the above, one can wonder how Windows makes it possible to run code in the background. With Windows, we are all so accustomed with the ability of simply moving an application to the background and let it keep doing its work there. In Windows 8, we’ve seen that applications get suspended when they are moved to the background. How is it then possible for apps to execute logic when they aren’t running?

Windows 8 introduces the concept of a background task. A background task is a separate DLL that is managed outside the main application. It can run whether or not the main application is running.

Creating a background task is in fact quite easy. Let’s take a look.

The first step is creating a library that contains a class that implements IBackgroundTask. We need to override the Run method, which is actually the code that runs in the background.

public class BGTask: IBackgroundTask
{
    public void Run(IBackgroundTaskInstance taskInstance)
    {
       //Background code goes here
    }
}

The second step is making sure that a link exists between the main application and the background DLL. This is done through adding a declaration in the Package.appxmanifest.

image

Finally, the main application needs to create the background task and register it with Windows. Execution of background code is as mentioned completely different in Windows 8. The background task will execute when a trigger is fired. Optionally, a condition can be checked to see if the background task should run. So essentially, background execution = trigger + optional condition.

A trigger can be for example the change of network. Some triggers like the time trigger require that an app is a lock screen app before the can be used. Giving an app lock screen permission is a user decision that can be set through the control panel in Windows 8.

image 

The idea here is that certain triggers like the time trigger can only be used when the user has specified that the app is important for him and therefore can run in the lock screen. When doing so, the app gets more CPU time for its background task as well.

In the code below, a background task is registered with Windows using the InternetAvailable trigger.

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    ...
 
    UnregisterBackgroundTask();
    RegisterBackgroundTask();
 
   ...
}
 
string BackgroundTaskName = "SampleBackgroundTask";
string BackgroundTaskEntryPoint = "SampleBackgroundTask.BGTask";
 
void UnregisterBackgroundTask()
{
 
    foreach (var cur in BackgroundTaskRegistration.AllTasks)
    {
        if (cur.Value.Name == BackgroundTaskName)
        {
            cur.Value.Unregister(true);
        }
    }
}
 
void RegisterBackgroundTask()
{
    var taskBuilder = new Windows.ApplicationModel.Background.BackgroundTaskBuilder();
    var systemTrigger = new Windows.ApplicationModel.Background.SystemTrigger
            (Windows.ApplicationModel.Background.SystemTriggerType.InternetAvailable, false);
 
    taskBuilder.SetTrigger(systemTrigger);
    taskBuilder.Name = BackgroundTaskName;
    taskBuilder.TaskEntryPoint = BackgroundTaskEntryPoint;
 
    var task = taskBuilder.Register();
}

Summary

We’ve seen how Windows 8 apps run and noticed that the process lifetime management is totally new for the Windows OS. Although only one application receives the main focus, it remains possible through background tasks to execute code in the background.

Series summary

In this series of articles, we’ve touched on the most important aspects coming with Windows 8. The developer opportunity is huge, the potential of the OS even bigger. The time to invest in Windows 8 is now. Imagine having your app being featured in the Store someday… Then you can think back of this series of articles which helped you with your first steps in Windows 8!

About the author

Gill Cleeren is Microsoft Regional Director (www.theregion.com), Silverlight MVP (former ASP.NET MVP) and Telerik MVP. He lives in Belgium where he works as .NET architect at Ordina (http://www.ordina.be/). Passionate about .NET, he’s always playing with the newest bits. In his role as Regional Director, Gill has given many sessions, webcasts and trainings on new as well as existing technologies, such as Silverlight, ASP.NET and WPF at conferences including TechEd Berlin 2010, TechDays Belgium – Switzerland - Sweden, DevDays NL, NDC Oslo Norway, SQL Server Saturday Switzerland, Spring Conference UK, Silverlight Roadshow in Sweden, Telerik RoadShow UK… He’s also the author of many articles in various developer magazines and for SilverlightShow.net and he organizes the yearly Community Day event in Belgium. He also leads Visug (www.visug.be), the largest .NET user group in Belgium. Gill is the author of “Silverlight 4 Data and Services Cookbook”. In 2012, the second edition, “Silverlight 5 Data and Services Cookbook” was released.

You can find his blog at www.snowball.be.

Twitter: @gillcleeren


Subscribe

Comments

  • SureshPokkuluri

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by SureshPokkuluri on Aug 20, 2012 10:27
    Thanks Gill for nice article.
  • kirankumargollapelly

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by kirankumargollapelly on Sep 28, 2012 12:34

    Its very nice article.

    Is there any way to extend the functionality of sharing contracts ?

  • agustinus

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by agustinus on Nov 12, 2012 05:58

    How to make pubic web ?

     

  • pakort

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by pakort on Nov 07, 2013 00:38
    I am building a custom Pc and want to put windows 8 on it. I have looked for a copy of it but all I can find is the windows 8 pro upgrades. Can I use that for my build? What windows 8 do I need to buy?
  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Dec 18, 2014 13:26

    Currently there ar four poker  <strong><a href="http://www.onlinebetpoker.com/online-poker-tips/">Online Bet poker</a></strong> channels that may be viewed by UK Sky subscribers and over two hundred poker sites that may be vie round the globe, creating on-line gambling a sort of diversion and recreation that ranks aboard the cinema and bowling in terms of visits.


  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Dec 18, 2014 13:27
    Currently there ar four Online Bet poker channels that may be viewed by UK Sky subscribers and over two hundred poker sites that may be vie round the globe, creating on-line gambling a sort of diversion and recreation that ranks aboard the cinema and bowling in terms of visits.

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Dec 18, 2014 13:28

    There is little doubt regarding it, poker chips square measure a part of the finer things in life. thus try and get the simplest and continue your name within the world of World Poker Shop

    .

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Dec 18, 2014 13:29
    The online pokies have managed to bring a lot of benefits, especially since they have become very fast an important source of entertainment all over the world and especially in Australia. The termpokies is the Australian version of slot game.

  • AlbinaMuro

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AlbinaMuro on Dec 21, 2014 12:24
    Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include. affordable digital marketing company
  • AjayBagra

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AjayBagra on Jan 07, 2015 09:40
    I found your website perfect for my needs Thanks a lot for sharing your article. Check for more Details and visit Here for more Information
  • kelvinmartin

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by kelvinmartin on Jan 08, 2015 11:27

    Awesome post thanks a lot for sharing. I am a frequent visitor to your site and always find something that boost my knowledge. www.hostgatorcouponsource.com

  • AjayBagra

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AjayBagra on Jan 13, 2015 14:38
    Wow, nice post,you can find different person searching about that now they'll find enough resources by your post.Thank you for sharing to us.Please 1 additional post about that. More Details Check Out Visit This Site
  • AlbinaMuro

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AlbinaMuro on Jan 13, 2015 17:45
    I enjoyed reading your post and found it to be informative and to the topic. Thank you for not rambling on and on just to fill the page. Thanks. how to text your ex and get him back
  • AjayBagra

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AjayBagra on Jan 16, 2015 09:38
    Thanks for providing useful information. I appreciate your professional approach. Thank you for the efforts you made in writing this post. I am hoping I'll see more great things from you Visit This - Check This - Site - Click Here
  • tendyarianto

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by tendyarianto on Jan 31, 2015 02:41
    Terima kasih atas sungguhan wawasan ini Air Terima kasih atas sungguhan wawasan ini Daun Sirsak
  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Feb 02, 2015 08:54
    The internet currently permits individuals to play on-line poker from where they live. there’s no would like of traveling to a casino as there square measure several on-line casinos offered on the web Cake Poker Network.

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Feb 02, 2015 08:56
    Online poker is in the same regard, protected from most people being able to bargain their website, however, a individual experienced in the art of development can quickly understand how to use online poker tools to subvert the protection application designed to avoid unfaithful, collusion and poker bot recognition.Jap Poker

  • AjayBagra

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AjayBagra on Feb 04, 2015 10:30
    wow, great, I was wondering how to cure acne naturally. and found your site by google, learned a lot, now i’m a bit clear. I’ve bookmark your site and also add rss. keep us updated. Visit This Site - Check This website - View This Site
  • malihtongtong2000

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by malihtongtong2000 on Feb 11, 2015 19:04
    I genuinely enjoyed reading it, you’re a great author.I will ensure that I bookmark your blog and definitely will come back later on. I want to encourage yourself to continue your great job. harga mobil Honda
  • AlbinaMuro

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by AlbinaMuro on Feb 17, 2015 15:08
    They will take an objective and recover a lot. We're not sure how to answer it, we're still testing extensively. https://rebelmouse.com/texttheromancebackmichaelfiore
  • SantaWify

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by SantaWify on Mar 23, 2015 11:12

    Windows put in place an elaborate, segment-based, software program exclusive memory space scheme, which allows that to own software larger than accessible memory space: program code segments and also assets are changed out inside and also discarded whenever memory space grew to become scarce; data segments shifted inside memory space if a granted app got relinquished processor chip control.

    http://www.webryzeseoservices.ca 

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 09:56

    The game begins when each player is Grant Casino dealt by two face-down pocket cards by the dealer and the first limit of bets begins. This part of Texas Holdem Poker is called preposition.

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 09:58

    If youre unaccustomed casino gambling, chances are high that, square measure} thinking that you simply are enclosed by aliens United Nations agency speak a distinct language. Casinos Loisirs


  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 10:00

    Poker Nval comes in an exceedingly range of designs that play on the foundations simply alittle consistent with the variation. There area unit some extremely popular poker games that any player can wish to understand so as to feel snug at any poker table.

    h

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 10:02

    Poker chips have become the most popular and mandatory things in every Sina Casino. These poker chips will be coming in numerous models and textures according to the type of casino using them. This article deals with the specifications of the casino poker chips.


  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 10:03
    Online casinos have managed to supply enthusiasts variety of engaging edges. From convenience to high jackpots, players have learned to come back to understand on-line casinos as a supply of recreation from their homes, workplace and – currently – their cell phones.Como Jogar Poker Mobile casinos permit people to play a range of various casino games from variety of varied mobile devices. 

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 10:04
    The internet currently permits individuals to play on-line poker from where they live. there’s no would like of traveling to a casino as there square measure several on-line casinos offered on the web. In fact, on-line poker proves to be rather more stimulating with the various poker bonus and poker rakes it offers.

  • PawanSharma

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by PawanSharma on Mar 26, 2015 10:06
    There is little doubt regarding it, poker chips square measure a part of the finer things in life. thus try and get the simplest and continue your name within the world of poker.Online poker is in the same regard, protected from most people being able to bargain their website, however, a individual experienced in the art of development can quickly understand how to use online poker tools to subvert the protection application designed to avoid unfaithful, collusion and poker bot recognition.



  • restoe

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by restoe on Apr 22, 2015 21:47

    Good post however I was wanting to know if you could write a litte more on this topic? I’d be very grateful if you could elaborate a little bit more. Appreciate it! cara membuat blog & cara bikin blog

  • BeeOShop

    Re: Windows 8 and the future of XAML Part 7: The application lifecycle of Windows 8 applications


    posted by BeeOShop on Apr 29, 2015 14:27

    Mau info toko tas online di Bandung yang menjual berbagai macam tas untuk keperluan wanita dan anak-anak seperti tas-tas wanita yang branded dari berbagai merek terkenal seperti Louis Vuitton, PradaBrussels, Furla, Chanel, Hermes, dan banyak lagi tas branded wanita lainnya dengan bermacam model seperti dompetslingbaghandbag dan tote bag, yang trendy dengan harga yang terjangkau? Silahkan cek di Bee Bagshop grosir tas online di Bandung yang menjual tas-tas dengan moel dan warna yang bervariasi dengan harga yang murah. Selain tas wanita, kami juga menjual tas sekolah anak model selempang dan ransel yang juga branded tiruan seperti jansport dan kipling dengan banyak variasi model dan warna, dijamin putra-putri anda menyukainya.

    Bagi yang ingin merawat kulit wajah tanpa harus repot dan mahal, simak tips kecantikan berikut yang mudah dan murah. Coba Sabun Amoorea. Manfaat sabun ajaib amoorea ini diantaranya untuk berbagai permasalahan kulit anda, seperti jerawat, scars (bekas jerawat), mengencangkan kulit, membuat kulit tampak lebih cerah dan segar, mengatasi lingkar hitam di bawah mata (mata panda), dll. Untuk melihat review sabun amoorea ini klik di sini. Simak juga testimoni yang sudah menggunakan sabun ini, simak selengkapnya. Meski harga sabun amoorea ini cukup terjangkau, produk ini aman, karena terbuat dari 100% bahan alami dan sudah ada ijin dari BPOM sehingga anda tidak perlu khawatir dan ragu memakainya. Jika aman (tidak berbahaya) apakah memakai sabun amoorea ada efek sampingnya? Reaksi apa yang timbul saat pertama menggunakannya? Simak info lengkapnya di sini.

    How To Get Rid Of Acne and Scars site generally tell about  tips for beauty and health skin, and especially tell anything about acne, myths, acne and scars treatments , not only on your face (including acne and scars on your body such as chest and back)which may help you to war against acne and the scars to leaves on your face and body (back and chest), through naturally, home remedies, and medical treatment. Some people believe that natural treatment is most safe. But its seems would take time longer then medical treatment. In my oppinion, using medical treatment is more effective and you'll see the result faster. To find what the best treatment for your acne, better you understand what causes of acne. The following are some factors which can cause acne: Hormones, diet, stress, medication, clothing, environment factors, genes, and cosmetics. For back or chest acne cases, it may caused by your tight clothes. To get rid of acne on back or chest, it's good to wear synthetic loose clothing, such as cotton linen, to prevent excessive rubbing and irritation on the skin. Another treatment that can help you to get rid of back or chest acne is keep your body always clean, with take a bath regularly, preferably with an anti-bacterial soap or a salicylic acid-based cleanser is highly recommended. When acne goes, it will leaves behind the red on skin, and seems impossible to heal it fast overnight. So, it would be better to do something which may offer some remarkable effects on the redness from acne. If you choose naturally treatment,  just take a cube of ice, garlic, or lemon juice mixed with rose water, choose one of them, then apply to your reddish part of your face for a while. Do this continously and measured, then see the result. Below this, some good habits which may help you to get rid of acne scars naturally and fast are: first, drinking lots of water to makes your skin well hydrated, and finally make you skin regenerate faster.  Second, eat the food that containing much the essential vitamins and mineral to help repairing scars skin from the inside. Third, naturally treatment to get rid of acne scar, by applying aloe vera on scars, may help to avoid more scarring, soothe inflamation, and make your skin keep smooth. Fourth, treat your acne scars with natural ingredient, tomato. Its containing much vitamin A, which very efficient in repairing scars skin.  If you want to get rid of acne scars ons faster than naturally or home remedies treatments, using the latest product of technology, such as laser treatment and chemical peeling, or even you can choose microdermabration that guaranteed more effective than other treatments.

    Ada banyak bermacam permasalahan kulit di wajah, salah satu yang paling menggangu adalah jerawat, apalagi jika yang muncul adalah jerawat batu yang ukurannya besar dan menyebabkan rasa sakit. Solusi mengenai berbagai cara menghilangkan jerawat batu ini banyak sekali ditemukan, mulai dari pengobatan alami, maupun secara medis. Untuk kasus jerawat batu ini, sebaiknya anda bisa mengambil tindakan pengobatan yang tepat, untuk kasus jerawat batu disarankan langsung saja ambil perawatan medis, karena beresiko tinggi meninggalkan bekas berupa bopeng di wajah, jika salah menangani. Dengan langsung mengambil tindakan medis, setidaknya akan meminimalisasi resiko timbulnya scars bopeng di wajah yang mana scars jenis ini relatif sulit dihilangkan. Tidak seperti scars berupa noda/ flek hitam. meski tidak mudah juga, namun berkali-kali lipat jauh lebih mudah dan murah dibandingkan dengan mengatasi bopeng bekas jerawat. Perawatan alami yang dapat anda tempuh untuk mengobati jerawat ataupun scars yang berupa noda hitam/ flek bekas jerawat, anda dapat mencoba dengan menggunakan bahan alami misalnya jeruk nipis atau madu yang sudah sangat terkenal khasiatnya yang untuk kesehatan dan kecantikan kulit. Dengan perawatan alami, cenderung lebih aman, hanya saja untuk perawatan ini biasanya dibutuhkan waktu yang lebih lama serta ketelatenan untuk mengatasinya. FYI, Jeruk nipis ini yang tidak hanya dapat memudarkan flek hitam di wajah, tetapi juga dapat memutihkan dan mencerahkan kulit anda. Namun jika anda tidak memiliki cukup kesabaran, sebaiknya langsung saja konsultasi dengan dokter. Untuk menentukan metode pengobatan jerawat dan scars ini biasanya dokter akan melihat tingkat keparahan dari jerawat/ scars anda, bisa dengan pemberian obat minum seperti anti biotik, obat oles (salep), peeling, mikrodermabrasi, laser atau metode pengobatan lainnya. Namun sebelum anda memutuskan menggunakan salah satu treatment tersebut sebaiknya telah jelas terlebih dahulu mengenai efek samping yang ditimbulkan.

    Seiring dengan semakin tingginya pengguna internet dari waktu ke waktu, hal ini menciptakan peluang bisnis tersendiri. Diataranya peluang bejualan tas murah secara online, buatan konveksi-konveksi lokal. Di Bandung cukup banyak konveksi tas yang membuat beraneka macam tas dan dompet tiruan atau kw. Model-model dari tas wanita ini kebanyakan menjiplak tas dan dompet wanita dari brand terkenal luar negeri seperti merek-merek LV atau Louis Vuitton, Hermes, Chanel, Furla, dll yang sangat terkenal. Tas tiruan seperti ini familiar disebut tas replika/ kw, dengan beraneka tingkatanya: Kw I, Kw II, dll. Tas-tas wanita branded ini di Bee Bagshop dijual dengan harga yang bevariasi antara 66-300 ribuan. Pembelinya berasal dari kalangan anak SMA, anak kuliah, pekerja kantoran, serta ibu-ibu muda. Untuk tas sekolah dan kuliah anak, kebanyakan modelnya meniru model tas branded seperti kipling, dan jansport, dengan model tas punggung/ ransel ataupun model selempang. Untuk harga tas-tas branded kw dijual dengan harga yang jauh di bawah harga aslinya, sehingga bisa dipastikan kualitasnya pun berbeda dengan yang original. Di Bee Bagshop sendiri kisaran harga untuk tas jansport tiruan ini dijual dengan harga 60-80 ribuan, sementara harga barang original mungkin sekitar 800-900 ribuan, bahkan mungkin ada juga yang lebih mahal. Untuk tas ransel branded tiruan ini kebanyakan pembelinya berasal dari anak sekolah dan kuliah.

    Jika anda wanita yang terlalu sibuk bekerja, dan selalu bingung bahkan tidak sempat untuk sekedar memikirkan menu masakan sehari-hari untuk keluarga anda, silahkan kunjungi situs Aneka Resep dan Cara membuat Masakan Praktis Khas Indonesia, situs ini berisi kumpulan resep masakan yang menggunakan bahan-bahan umum seperti ayam, daging sapi, serta beraneka seafood (udang, cumi, ikan), dan juga bahan-bahan makanan yang tidak asing bagi  masyarakat Indonesia seperti tahu, tempe, serta nasi, . Selain itu ada juga resep cemilan khas nusantara, yang dapat anda jadikan inspirasi untuk menu masakan dan makanan ringan keluarga anda di rumah. Seperti resep membuat masakan khas suatu daerah seperti soto ayam lamongan, ataupun masakan khas lebaran seperti opor ayam, beraneka masakan berbahan dasar ayam ataupun bahan makanan lainnya, yang pastinya praktis dan mudah dibuat.

Add Comment

Login to comment:
  *      *       

From this series